问题标签 [delphi-6]

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

delphi - DLL 断点没有被“远程调试符号”选项击中,为什么以及这些安全风险?

我遇到了一个大问题,即在 Delphi 6 DirectShow DLL 中没有命中断点。我将在 IDE 中加载 DLL (AX) 并使用 Graph Edit 作为主机程序运行它,并且不会触发任何断点。我尝试将 FastMM4 DLL 移动到项目目录,完全删除 FastMM4,打开和关闭调试 DCU,清理项目目录,取消注册和重新注册 DLL,我能想到的一切。没有任何效果。每次我运行主机程序时,我都会在事件查看器中看到我的 DLL 加载并显示“无调试信息”消息。然后在绝望的谷歌搜索中,我发现了一篇 C++ Builder 的帖子,建议尝试“远程调试符号”链接器选项:

Project -> Options -> Linker (Tab) -> Exe and DLL options (group box) -> "Include Remote Debug Symbols" (勾选)

突然我的断点开始被击中。以下是我的问题:

1)为什么这样做?是因为这个选项还是因为这个选项触发了其他一些修复问题的编译器/链接器操作?我想知道,这样当它再次发生时,我可以可靠地解决这个问题。

2) 远程调试符号是否是恶意程序员可以用来深度跟踪我的程序的东西?换句话说,如果它们随意放置,是否会带来安全风险?

0 投票
3 回答
463 浏览

delphi - 如何加快 Delphi 6 IDE 中缓慢的工具提示符号和表达式评估?

我从事多年的一个项目显然已经变得如此之大,以至于在设计模式下对符号和表达式的工具提示评估非常缓慢。尽管有一个 4GB 内存的四核(只有 3GB 是相关的,因为它是 Windows XP),当我将鼠标悬停在代码项上时,工具提示查找通常需要 3 到 7 秒。我时不时会碰到一些代码,这些代码会对硬盘造成很大的影响,而这些代码可能需要长达 15 秒才能完成。我只能假设 Delphi 用于符号表和工具提示驱动查找中涉及的其他代码项的数据结构已经变得笨拙。

我不想关闭工具提示评估,因为它对我的工作非常宝贵。是否有一种技术或 IDE 插件可以帮助加快 Delphi 6 IDE 中的工具提示评估?

0 投票
1 回答
3476 浏览

delphi - 启动用户的默认 Web 浏览器时,如何阻止 Chromium 创建“WebViewHost”主机窗口?

我在我的 Delphi 6 应用程序中使用 Chromium Web 浏览器控件。

每当用户单击当前显示的网页中不在我的主网站上的 Web 链接时,我使用带有“打开”动词的 Windows ShellExecute() 函数打开 URL,使用 URL 启动他们的默认 Web 浏览器. 我从BeforeBrowse()事件处理程序中执行此操作并同时取消导航。

换句话说,我不在 Chromium 控件中显示外部 URL,而是在用户的默认 Web 浏览器中显示它们。

它工作正常,但有时我也会弹出一个属于我的应用程序的独立窗口,它占据了大约一半完全空的屏幕(带有我的 Windows 主题的空白客户区域)。窗口的 Windows 类名是“webviewhost”。

谁能告诉我如何抑制这个“幽灵”窗口?

0 投票
1 回答
110 浏览

delphi - 将例程的内容复制到内存中的另一个位置

我想将内存中的例程代码复制到另一个位置。例如

假设我想将例程复制到内存中的另一个位置。我已经宣布了类似的东西

一些伪代码就像

我只是想知道是否有可能这样做。我已经修补了一个例程以调用一个新例程,但是由于我们使用代码绕道放置了 JMP 指令,我可能无法使用旧例程中提供的功能。

我以前的问题的参考是here

0 投票
1 回答
8545 浏览

delphi - 如何获取 DBGrid 单元格的屏幕坐标

我想在当前行的特定单元格的右下角显示弹出按钮或花哨的消息(带有彩色背景等)。

现在我只知道如何获取网格坐标:
x = DBGrid.DataSource.DataSet.RecNo
y = DBGrid.Columns[index]

还有 TCustomGrid.CellRect,它会做我想做的事,但它是受保护的,我不想继承和创建另一个组件类。

我能想到的一种疯狂的解决方法是将 onDrawColumnCell 事件中的 TRect-s 保存到某个数组中。

所以你怎么看 ?

编辑
如何获取当前行中第二个单元格的屏幕坐标?

0 投票
4 回答
1868 浏览

c# - C# 和 Delphi 集成

目前我们有几个用 Delphi 6 编写的项目。由于在这些项目中使用了特定的组件(这些组件也是用 Delphi 6 编写的),因此在较新的版本中转换它并不容易。

由于我更喜欢​​ .NET 开发并且我们的新产品是在 .NET 中开发的,因此我想使用这些技术开发新功能。C# 将成为编程语言。

我的问题是:如何将 C# 开发的新功能与 Delphi 中的当前代码集成?这是个好主意吗?可能会出现什么问题?如果有人有类似的经历,那将是听到优点和缺点。

我听说以集成方式使用 C# 开发 .dll 并从 Delphi 代码中使用它。

提前TnX!

内马尼亚

0 投票
2 回答
2379 浏览

delphi - 保存和恢复事件处理程序

我的课程包含数据集(TDataSet)。我班的用户可以为此数据集分配事件处理程序:

然后我必须重新打开数据集:

在此之后,所有事件处理程序都消失了:

所以,我需要保存处理程序并在重新打开后恢复它们。我使用 TStringList :

问题是如何恢复处理程序:

如何将存储的地址分配给事件处理程序?谢谢。

0 投票
1 回答
575 浏览

delphi - 关闭 CnPack 应用的组件的上下文菜单(设计时)

在我安装 cnPack 之后,右键单击我的表单中的一个组件似乎已经删除了该组件本身可能应用的任何特定项目。

例如,右键单击任何 Dev Express 组件通常会显示版本详细信息。现在我得到了一堆其他的上下文菜单项,而 Dev Express 的那些已经消失了。

有没有可以禁用的向导或其他选项来阻止它?我在任何地方都找不到。

谢谢

编辑

重新启动 Delphi 在短期内修复了它 - 但又回来了,所以我仍然想找到解决这个问题的方法......

0 投票
3 回答
2289 浏览

delphi - 由于事件处理中的循环导致 Delphi 堆栈溢出

我正在处理具有两个列表框的应用程序。我用值加载了两个列表框,当我继续单击列表框中的项目时,调试时出现以下错误。

在此处输入图像描述

运行 exe 会导致应用程序关闭。有时我会收到“访问冲突”消息。

那么我应该怎么做才能从我的应用程序中摆脱这个错误呢?

编辑

..

主窗体具有刷新所有控件 timer_RefreshCONtrol (intervali 1) 的计时器。

每当修改editBox_one(值)时,都会调用此函数

EditChange分配给编辑框FormCreate

编辑2

我不是最初的开发人员。我有时只是处理代码,不可能进行重大重构。

编辑 3 调用堆栈值,但什么是“???” 在此处输入图像描述

编辑 4

经过@Cosmin Prund 和@david

我找到了无限通话开始的地方

0 投票
1 回答
3107 浏览

delphi - 如何使用 Delphi 代码将 PDF 文件保存在 SQL Server 列中

祝大家日...

这是场景。我的用户想要将 PDF 文件保存到数据库中(是的,我知道,这不是最佳方式,但是......他付钱,所以我闭嘴;)),所以我决定创建一个Binary专栏在 SQL Server 2008 R2 数据库的表中。

而现在,问题。我正在使用 Delphi 6 进行开发,我对如何实现这一点有一点想法......,你能在这里为我提供帮助吗?

预先感谢您的好意。