问题标签 [delphi-5]

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 回答
283 浏览

delphi - 在装有 Delphi 2007 的机器上安装 D5(和第三方组件)?

我有一个 Delphi 2007 VM,其中包括一个相当最新的 Report Builder 和 Dev Express Suite。我将它用于特定客户的特定项目。

对于同一个客户端,我还有一个 D5 VM,它恰好使用了(不同的、旧的)版本的 Report Builder 和不同的(旧的)版本的一些 Dev Express 组件。

如果我可以将 D5(以及它使用的组件的版本)安装到 D2007 虚拟机上,并拥有一个包含该客户端所有内容的“超级虚拟机”,它将使我为该客户端的工作的测试和一般维护变得更加简单. 自然,我必须将组件的各种版本“分开”。

希望你们还没有因为无聊而昏昏欲睡——只是想知道在我尝试这样做之前是否有任何技巧或提示我应该注意。我认为将 D5 放到 D2007 机器上会更容易(更大的现有 VM 驱动器等,加上避免重新注册 D2007 安装等的过程),但如果将 D2007 添加到 D5 会更容易,那么我可以这样做我猜想。

有什么建议吗?:-)

0 投票
3 回答
2629 浏览

delphi - 在 Delphi5 上创建 TPanel 的精确副本

我有一个 TPanel pnlMain,其中根据用户操作、数据验证等创建了几个动态 TPanel(并且 pnlMain 是它们的父级)。每个面板都包含一个充满字符串的彩色网格。除了面板,还有一些开源箭头组件和一张图片。一大堆东西。

现在我希望用户能够打印这个面板(我在这个问题上问过如何做到这一点),但在打印之前,必须向用户呈现一个新表单,其中包含 pnlMain 的副本。在此表单上,用户必须进行一些更改,添加一些组件,然后打印他自定义的 pnlMain 副本。打印后用户将关闭此表单并使用原始 pnlMain 返回原始表单。而且——你可以猜到——原来的 pnlMain 必须保持原样。

那么有没有什么聪明的方法可以复制整个 TPanel 及其内容呢?我知道我可以通过 pnlMain.Controls 列表手动迭代。

0 投票
3 回答
541 浏览

delphi - 我应该做什么或不做什么来避免 Delphi “push dword”错误。

我发现 Delphi 5 在特定情况下会生成无效的汇编代码。我不明白一般情况下是什么情况。下面的示例会产生访问冲突,因为发生了非常奇怪的优化。对于记录或数组中的一个字节,Delphi 生成 push dword [...], pop ebx, mov .., bl 如果在此字节之后有数据(我们至少需要三个才能正确推送 dword),则可以正常工作,但失败如果数据不可访问。我在这里用 win32 Virtual* 函数模拟了严格的界限

特别是在 FeedBytesToClass 过程中访问的块的最后一个字节时发生错误。如果我尝试更改诸如使用数据数组而不是删除 actionFlag 变量的对象属性之类的东西,Delphi 会生成正确的汇编指令。

最初,当我使用访问位图位的 RGB 数据时发生错误,但那里的代码太复杂,所以我将其缩小到这个片段。

所以问题是这里有什么特别的东西让Delphi产生push、pop、mov优化。我需要知道这一点,以便在一般情况下避免这种副作用。

0 投票
1 回答
754 浏览

delphi - 在 Delphi 5 中将 TDateTimePicker.Font.Style 设置为斜体时出错

是否可以将 TDateTimePicker 的字体设置为斜体?我在这段代码中这样做

每次代码执行最后一行时,都会抛出一个 EInvalidOperation 异常并显示一条消息:

这是 Delphi 5 的功能,还是我做错了什么?

0 投票
2 回答
439 浏览

delphi - Delphi - TStoredProc.Close(它是否清空集合?)

LEGACY ALERT - 这是针对 Delphi 5 代码的。(我知道它是超级旧的。它计划被重写......总有一天。)

我正在使用 BDE 和 TStoredProc 对象。当我调用 Close 时,这通常会清除我的数据集。但是,我看到奇怪的事情发生了,所以我想我会问这个问题。

如果我手动将行添加到数据集(即通过 Append 方法),那么当我调用 close 时,它​​们也会被删除吗?

0 投票
6 回答
1792 浏览

windows - 如何让我的 Delphi 5 应用程序显示密码“blob”?

很简单的一个,但我找不到答案。

我正在 Delphi 5 Enterprise 中构建一个应用程序,并希望我的应用程序在密码字段中使用新的粗体黑点而不是星号。

我怎样才能做到这一点?

0 投票
5 回答
3492 浏览

visual-studio - Delphi 5可以生成VS可以使用的.PDB文件吗?

我们已经用 Delphi 5 编写了这个大型应用程序,并且开发一直持续到今天。正在研究迁移到较新版本,但到目前为止还没有成功,因为一些 3rd 方组件已经很长时间没有更新并且不适用于更高版本。

然而,与此同时,人们需要继续努力。现在 Delphi 5 IDE 不是真正的享受。它漏洞百出,缺乏当代 IDE 的许多功能,因此难以使用。尤其是在调试方面。

所以我想知道 - 是否可以在此过程中使用 Visual Studio?据我所知,.PDB 文件格式已经很老了,并且有据可查。是否有可能让 Delphi 编译器以某种方式为其编译结果生成 .PDB 文件?然后可以使用 Visual Studio 调试程序,可能比在原始 IDE 中调试的程度要大得多。

好吧,绝对的圣杯是将所有开发转移到 VS,只是让编译器远离 Delphi,但我想这几乎是不可能的。

0 投票
4 回答
427 浏览

delphi - Delphi 2009 升级问题

我昨天买了升级到 Delphi 2009 Pro。现在我有一个问题,我有一个版本的 Delphi 5 Enterprise,但它已经注册,但帐户已经丢失。

有没有办法将 Delphi 5 版本移动到我的帐户,以便我可以注册 Delphi 2009 Pro。

否则我这里还有一个Delphi 3 Pro,它也应该足够升级了,但是我怎样才能注册呢?

我的其他 Delphi 是 Delphi 1、Delphi 2 Developer 和 Delphi 3 Standard 以及一些个人版本。

有人知道我现在应该做什么吗?最好的办法是将 Enterprise Delphi 移至我当前的帐户。

干杯,墨菲

0 投票
1 回答
2108 浏览

delphi - Delphi 5 IDE 命令行返回码

我正在尝试使用 MSBuild 脚本自动化一些遗留的 Delphi 5 构建,但在捕获错误时遇到了麻烦。考虑到 MSBuild 传递存在一些问题,我还尝试了一个批处理文件,并且当构建失败 (1) 时仍然收到回传 (0)。%2 是 delphi 的路径,%3 是项目名称。

根据在线帮助:

成功构建的错误级别设置为 0,构建失败的错误级别设置为 1。

目前我的项目失败(在日志文件中可见)但我的批处理文件作为 PASS 运行。

[致命错误] MyFile.pas(43):找不到文件:'aa.dcu'

这是 Delphi 5 中的错误,还是我遗漏了什么?


delphi32.exe 上选项 -B 的完整 IDE 帮助文本:

自动构建。必须与文件名选项一起使用。指定后,项目或项目组会在 IDE 启动时自动构建。然后将任何提示、错误或警告保存到文件中。然后 IDE 退出。这有助于从批处理文件以批处理模式进行构建。成功构建的错误级别设置为 0,构建失败的错误级别设置为 1。默认情况下,输出文件与指定的文件名相同,文件扩展名更改为 .err。这可以使用 o 选项覆盖

0 投票
1 回答
1158 浏览

delphi - 从命令行将 .bpk 安装到 Borland C++ Builder

我正在尝试从命令行将 .bpk 包安装到 Borland C++ Builder 5 IDE 中。我确信这是可能的,因为我们有一些第三方组件可以做到这一点,但我无法弄清楚所需的步骤。

任何指针表示赞赏!