问题标签 [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 投票
1 回答
320 浏览

delphi - Delphi 应用程序挂起

这个 Delphi 2006 应用程序已经成功运行了好几年。在它到达 DPR 文件中的“初始化”之前,我已将它缩小到某个点,因此在执行任何书面代码之前它就挂起。我按下“运行”图标,它从不显示任何其他内容,只是停止运行。没有太多信息可以提供,有什么想法吗?

0 投票
6 回答
11022 浏览

delphi - 在我的 Delphi 应用程序完成初始化后,我应该在哪里执行一次代码?

在我的应用程序完成初始化并创建主窗体后,我有想要执行的功能。我在表单 OnShow 事件中确实有代码(称为 ProcedureX),但我刚刚注意到它被调用了两次,因为 OnShow 被触发了两次。它在主程序 DPR 调用时触发:

正如我所料。但在那之后,当我从一个包含屏幕位置表单的 INI 文件中读取内容时,我有一个电话:

这似乎会再次触发 OnShow 事件。

我在哪里可以调用 ProcedureX,它只能调用一次,并且需要在执行之前创建主窗体?

0 投票
5 回答
844 浏览

delphi - 在 PC 之间共享 Delphi 中的公共内存区域

我有一个 Delphi 2006 应用程序,它收集数据并将其显示为许多通道的摘要,TDrawGrid 上每行一个通道。我在网络上的各种其他 PC 上运行相同的应用程序,但这些其他 PC 是从属设备 - 它们不收集数据,而只是提供摘要的远程显示。

目前,slave 只是在 master 上显示一个摘要显示屏幕的模拟,这是通过来自 master 的 mailslot 的广播方式实现的。

我想以不同的方式实现这一点,以减少主机的负载,并为从机提供更多的灵活性和独立性,以了解它们如何解释数据。此外,我对跨子网数据的邮槽广播有问题。

我可以使用一些共享内存方案将数据放置到内存映射文件中,奴隶可以从任何地方(甚至通过网络)访问吗?我们谈论的是最大 100k 字节的内存大小,例如,由 master 以大约每秒一次的速度更新,可能在一个线程中,以保持 master 前台任务的响应。

0 投票
2 回答
416 浏览

delphi - 带有嵌入式框架的 Toolbar2000 的大小问题

我有 Jordan Russel 的 Toolbar2000 工具栏,我在运行时使用嵌入式 TFrame 创建并停靠在应用程序主窗体上。该框架有一个嵌入式窗格,该窗格又包含其他面板和各种控件。所以结构是:

这个想法是面板 2、3、4 有明确的高度大小,然后框架(以及工具栏)会自动调整大小以适应新的大小。

它工作正常,除了工具栏第一次显示停靠在应用程序主窗体上时工具栏的大小错误。如果我在该点强制调整工具栏的大小(例如,通过单击鼠标再次显式调整 TPanel 高度的大小),它就会正确。我尝试调用例程来设置大小两次,调用 Update、Application.ProcessMessages、ReAlign - 除了让主窗体绘制然后再次手动执行调整大小之外,似乎没有任何效果。

如果我在调整大小例程结束时中断并检查面板大小和框架大小,它们是正确的,但工具栏大小不正确,所以第一次显示时,框架部分显示在大小错误的工具栏中。它是在另一个大小调整例程调用之后出现的,但只有在主窗体自己绘制之后。

我可以拼凑一些讨厌的东西,比如在计时器到期后显式调整面板的大小,但我宁愿从源头解决问题。

关于为什么这可能发生(或不发生)的任何想法?

0 投票
3 回答
1056 浏览

delphi - 可以在运行时从 Delphi TADOCommand 中安全地删除参数吗

我的 Delphi 2006 TADOCommand

属性都在设计时设置。

有没有办法让我在运行时删除它的一些参数,而不必更改CommandText以适应这些更改。这在参数引用的某些表列不需要更新/插入的情况下是可取的。

我在想一些类似的事情

非常感谢,
邓肯

0 投票
1 回答
1001 浏览

delphi - 我无法在打开和保存对话框中获得 Delphi 上下文相关帮助

我有一个带有 CHM 帮助文件的 Delphi 2006 应用程序。一切正常,除了我无法获得连接到 TOpenDialog 和 TSaveDialog 上的“帮助”按钮的任何帮助。

下面显示了一个简单的程序来演示这一点。单击按钮 2 打开帮助文件并显示正确的页面。单击按钮 1 打开对话框,但单击对话框中的帮助按钮无效。

0 投票
1 回答
4963 浏览

xml - 读取和写入 XML 文件

我需要使用 Delphi 处理 XML 文件。

我想将 DBGrid 中的 xml 数据呈现给用户,并将用户所做的更改保存在 XML 文件中。

例如,在下面的 xml(呈现给用户)中,如果用户changed City of ABC under clientadded a new customer with NickName as "AAA"这些更改应该反映在 XML 文件中。

我正在使用 XMLDocument 和 ClientDataSet 来实现这一点,但没有成功。

谁能帮助我实现这一目标?

0 投票
2 回答
2716 浏览

delphi - 通过 ClientDataSet 保存时禁用 XML 文件中的 Change_Log

这是我上一个问题的延续。

我不想在我的 XML 文件中使用 PARAMS CHANGE_LOG 数据,同时使用ClientDataSet1.SaveToFile()方法将数据保存在 ClientDataSet 中。

我的代码如下所示:

我怎样才能做到这一点。

0 投票
1 回答
1036 浏览

delphi - 使用 XML 数据绑定时生成复杂类型的问题

我正在使用 XML 数据映射,并且在使用它时生成复杂类型时遇到问题。

如果我有一个像下面这样工作正常的 XML

我将复杂类型作为SampleType, ConnectionType and ItemType.

但是如果我有 XML 之类的

我得到了复杂的类型,SampleType, ConnectionType, ItemType, ItemType2, ItemType22, ItemType222, ItemType2222, and ItemType22222即 ItemTypes 等于 XML 中存在的项目数。

为什么会发生这种情况,我该如何解决这个问题?

0 投票
5 回答
2442 浏览

delphi - 如何从 COM 服务器返回 WideString?

_TLB.pas 文件中的这个接口

这着眼于操作系统 Windows

COM 服务器中的函数如下所示

在 COM 客户端中,我正在调用此函数,例如

并在 $75A9FBAE获得错误第一次机会异常。异常类 EAccessViolation 带有消息“模块 'RPCRT4.dll' 中地址 75A409A4 的访问冲突”。读取地址 FFFFFFF8'。处理 Project1.exe (2296)

如果我想返回整数,它可以工作。如何返回宽字符串?