问题标签 [delphi]

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

Windows dll 可以检索自己的文件名吗?

从 exe 文件创建的 Windows 进程可以访问调用它的命令字符串,包括其文件的路径和文件名。例如。C:\MyApp\MyApp.exe --help.

但对于通过LoadLibrary. 有谁知道通过 dll 加载函数的方法来找出它的路径和文件名是什么?

具体来说,我对 Delphi 解决方案感兴趣,但我怀疑任何语言的答案都几乎相同。

0 投票
4 回答
5481 浏览

Delphi MDI Application 和 MDI Children 的标题栏

我有一个用 Delphi 2006 编写的 MDI 应用程序,它使用默认主题运行 XP。

有没有办法控制 MDI Children 的外观以避免每个窗口上的 XP 风格的大标题栏?

我已经尝试将 to 设置为,BorderStyle但它们仍然呈现为普通表单。MDIChildrenbsSizeToolWin

0 投票
5 回答
455 浏览

现有 .NET 开发人员的 Delphi 资源

任何人都可以为希望获得 Delphi 语言高级概述的 .NET 开发人员推荐一些体面的资源吗?

我们即将收购一家小型企业,其主要产品是在德尔福开发的,我想积累足够的知识来与他们交谈。

书籍、网站等都受到赞赏。

谢谢。

0 投票
9 回答
3358 浏览

Are there any "mind mapping" components for Delphi? (native VCL preferably)

I'm looking for a pre-written component (w/source) for a Delphi project that I'm working on, to generate mind-maps / concept-maps similar to these:

http://en.wikipedia.org/wiki/Image:MindMeister_screenshot_OS_X.jpg http://en.wikipedia.org/wiki/Image:XMIND_2008_in_Windows_Vista.png

Any ideas?

0 投票
9 回答
31909 浏览

使 Delphi 应用程序完全全屏的最佳方法是什么?

使delphi应用程序(此处为win32的delphi 2007)完全全屏,删除应用程序边框并覆盖Windows任务栏的最佳方法是什么?

我正在寻找类似于按 F11 时 IE 所做的事情。

我希望这是用户的运行时选项,而不是我的设计时决定。

正如在接受的答案中提到的

是这样做的一部分。奇怪的是,我E2010 Incompatible types: 'TFormBorderStyle' and 'TBackGroundSymbol'在使用该行时一直出错(已bsNone定义另一种类型)。

为了克服这个我不得不使用:

0 投票
7 回答
3855 浏览

在不使用另存为的情况下更改 Delphi 2007 中的当前保存/默认目录

我有一个项目组,其中包含我正在处理的项目以及一些相关的组件和包。我更喜欢在设计时保持数据库链接处于活动状态。

".\data"我知道如何编写会更改数据库文件位置的代码,但在这种情况下,出于各种设计时原因,我只是使用它。不幸的是,使用相对文件夹意味着 Delphi 需要“指向”项目所在的同一个文件夹。

我希望能够将文件夹位置强制到不同的根目录,而不使用“另存为”功能。有谁碰巧知道 Delphi IDE 在哪里检索该信息?

0 投票
5 回答
5734 浏览

Delphi 和 COM:TLB 和维护问题

在我工作的公司,我们所有的GUI都是用C#开发的,但是应用内核主要是用Delphi 5开发的(由于历史原因),很多组件都是用COM+做的。与这种非常具体的应用程序相关,我有两个问题:

  • 在 Delphi 和/或 COM 方面有经验的人,你有什么办法可以使用有缺陷的 TLB 界面吗?一些错误是:编辑大型 TLB 期间 IDE 崩溃、方法 ID 丢失、TLB 损坏等。在这里,我们还没有找到任何好的解决方案。实际上,我们尝试升级新的 2007 版本。但是新的 IDE TLB 接口与我们之前发现的 bug 相同。

  • 您如何控制 TLB 版本?TLB 文件是二进制格式,解决冲突非常困难。我们尝试将接口描述导出到 IDL 并提交到 CVS,但我们没有找到任何使用 Delphi 从 IDL 生成 TLB 的好方法。另外,微软提供的 MIDL 工具没有正确解析我们从 delphi 导出的 IDL 文件。

0 投票
4 回答
1512 浏览

如何跟踪对对象的引用?

在手动内存分配和指针仍然占主导地位的世界中(Borland Delphi),我需要一个通用的解决方案来解决我认为的普遍问题:

在给定时刻,可以从多个位置(列表、其他对象……)引用对象。有没有一种好方法可以跟踪所有这些引用,以便在对象被销毁时更新它们?

0 投票
9 回答
27300 浏览

Delphi 中的单元测试——你是怎么做的?

我想知道这里的少数 Delphi 用户是如何进行单元测试的,如果有的话?是否有任何与您发现效果很好的 IDE 集成的东西?如果没有,您正在使用什么工具,您是否拥有或知道演示它是如何工作的示例迷你项目?

更新:

我忘了提到我正在使用 BDS 2006 Pro,虽然我偶尔会进入 Delphi 7,当然其他人可能正在使用其他版本。

0 投票
5 回答
7469 浏览

多表单 Delphi 应用程序和对话框

我有一个Delphi 7 应用程序,它有一个文档的两个视图(例如,所见即所得的HTML 编辑可能有一个所见即所得的视图和一个源视图——不是我真正的应用程序)。它们可以在单独的窗口中打开,也可以停靠在主窗口的选项卡中。

如果我从其中一个单独的窗体打开一个模式对话框,主窗体将被带到前面,并在 Windows 任务栏中显示为选定的窗口。说主要形式是WYSIWYG视图,弹出源视图。您转到源视图中的特定点并插入图像标签。将出现一个对话框,允许您选择并输入图像所需的属性。如果 WYSIWYG 视图和源视图重叠,则 WYSIWYG 视图将被置于前面,源视图被隐藏。一旦对话框被关闭,源视图就会重新出现。

我尝试将所有者和 ParentWindow 属性设置为与之相关的表单:

dialog := TDialogForm.Create( parentForm );
dialog.ParentWindow := parentForm.Handle;

我该如何解决这个问题?我还应该尝试什么?

鉴于人们似乎在我的示例上磕磕绊绊,也许我可以尝试一个更好的示例:一个允许您同时打开多个文件的文本编辑器。您打开的文件要么在选项卡中(如在 Delphi IDE 中),要么在它自己的窗口中。假设用户打开拼写检查对话框或查找对话框。发生的情况是,如果文件正在其自己的窗口中进行编辑,则当显示模式对话框时,该窗口将发送到 z 顺序中的主窗体下方;一旦对话框关闭,它就会返回到原来的 z 顺序。

注意:如果您正在使用 Delphi 7 并寻找解决此问题的方法,请在页面下方查看我的答案,以了解我最终做了什么。