问题标签 [delphi-2006]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
2954 浏览

delphi - Delphi 空闲处理程序仅在我移动鼠标时触发

我的 D2006 应用程序中有一个 OnIdle 处理程序。使用此代码:

应用运行流畅,每秒调用空闲处理程序 100 次,CPU 使用率接近于零。

然后我添加了一个 TActionList 并将一些控件连接到操作,编写了一个 Execute 和 Update 处理程序。

问题。OnUpdate 事件不会触发。凭直觉,我在 OnIdle 处理程序中设置了 Done := true ,然后仅在移动鼠标时才调用 OnIdle 处理程序。并且更新操作仍然没有触发。

为什么更新处理程序可能不会触发,我应该将 Done 设置为 true 还是 false?或两者?

0 投票
4 回答
1373 浏览

delphi - Delphi - ExtractFileName 弄乱了 unicode

我正在使用等于“STF:宋体”的 WideString 的 ExtractFileName。结果是'??'。

似乎 ExtractFileName 不能很好地处理 unicode。

unicode有等效的方法吗?

编辑:

这是我使用的线

类型是:

0 投票
1 回答
895 浏览

delphi - Delphi TPrinters.GetPrinters 调用挂起

我有一个返回错误报告的应用程序。该应用程序是用 Delphi 2006 编写的,并在启动期间挂起。MadExcept 主线程堆栈如下所示。我怀疑没有默认打印机,但我无法在此处复制故障。

来自 MadExcept 的堆栈转储

有人见过这个问题吗?

WWPrintToPrinterOrPDFRoutines 单元的初始化部分

或拆卸:

0 投票
2 回答
591 浏览

delphi - Delphi - 当表单的 ComponentCount 减少时如何中断

下面的代码是从 Toolbar2000 复制的。它是从 INI 文件中读取工具栏位置和停靠状态的例程的一部分。我在初始化期间调用此例程。下面的代码遍历主窗体(OwnerComponent)上的所有组件并加载它找到的任何工具栏的设置。

此迭代需要一些时间(几秒钟 - 表单上有 1500 多个组件),并且在所示点出现范围错误。我已经确定在执行此循环时,正在从主窗体的组件中删除一个或多个项目,因此一旦发生这种情况,最终循环会尝试访问数组末尾之后的一个(可能最好将其编码为一个“downto”for循环来防止这种情况)。

无论如何,我需要找出主窗体丢失组件的位置。任何人都可以给我任何有关如何执行此操作的 Delphi 2006 调试提示吗?我不希望此时在我的程序中释放任何主要表单组件。

更新

我发现当我在设计时重新定位工具栏的默认停靠位置时,我无意中将其停靠在另一个工具栏上,而不是另一个工具栏所在的停靠站点。我通过从工具栏中删除工具栏解决了这个问题停靠并将其添加到扩展坞。所以导致问题的安排是:

解决方法是这样安排它们:

尽管如此,它仍然指向 TB2k 代码中的一个错误——人们会假设它应该能够处理嵌套的工具栏。

0 投票
1 回答
200 浏览

delphi - BDS2006 中的 GetVersionExW 错误

这在 Delphi 2009 中有效,但在 TurboDelphi/BDS2006 中出现错误:

[Pascal 错误] xxx.pas(117): E2033 实际和形式 var 参数的类型必须相同

0 投票
1 回答
625 浏览

delphi - 如何在网络机器上找出公共文档文件夹的名称

鉴于我正在通过网络在一台机器上执行 EXE 文件(D2006 应用程序),我如何获取该机器上 commondocs 文件夹的路径名,因为该 EXE 可能是从 UNC 快捷方式或映射的驱动器号调用的快捷方式,并且不一定知道远程机器的平台(但将> = WinXP)?

这种情况是客户端有大量分散的机器,他们不会费心在所有 PC 上安装我的应用程序。所以他们所做的就是在网络上的某个地方安装可执行文件,并为每个人提供一个快捷方式。这似乎已经很适合他们,并且没有问题。

应他们的要求,我让应用程序从与可执行文件位于同一文件夹中的 INI 文件中读取设置。我只能假设他们已经配置了一些东西,以便所有用户都可以写入该文件夹,以便可以保存 INI 文件。

但是,我想更改它,以便读取 INI 文件并将其保存到远程计算机上的 commondocs 文件夹树中的某个位置,这样它们就不需要提供对 Program files 文件夹的写访问权限。

0 投票
2 回答
2581 浏览

delphi - 查询用户是否是组的成员

我没有使用 Active Directory 的经验。

我正在使用 Delphi 开发与 Active Directory 交互的应用程序。我需要知道测试 Active Directory 用户是否属于指定组的最佳方法。我怎么做?

我正在使用 Delphi 2006 BDS。

0 投票
2 回答
1041 浏览

delphi - 免费的 Delphi 2006 编译器

在维基百科上我读到:

Borland Delphi 2006 [...] 每个版本都有两个版本:Explorer(可免费下载的版本)和 Professional

这个版本还有吗?还是在 2006 年抓住它的人很幸运,而其他人则没有那么幸运?

0 投票
2 回答
4221 浏览

delphi - 如何让 Delphi 2006 TStringList.LoadFromFile 加载 UTF-16 文件

我有一个 Delphi 2006 应用程序,我正在添加代码来处理一些生成的 CSV 数据文件。TStringList.LoadFromFile 给出了奇怪的结果,我刚刚发现文件是 UTF-16 编码的。

计划升级到 XE,但目前不是一个选项。

用 D2006 处理这些文件的最简单方法是什么?我假设它们可以毫无问题地映射到 8 位 ASCII - 它们是“纯” CSV - 只是数字和逗号等,我认为不在 8 中的字符不会有任何问题位设置。

0 投票
2 回答
306 浏览

delphi - 如何将 D2009 .groupproj 文件转换为 D2006 .bdsgroup 文件?

我正在尝试转换 .groupproj 项目组文件(来自 Delphi 2009),以与 Turbo Delphi Explorer 一起使用,即转换为 .bdsgroup。文件结构类似(xml)。有一种简单的方法可以做到这一点吗?如何?