问题标签 [opentools]

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

delphi - 即使 Windows 使用中等字体大小(125%),如何始终在 DFM 文件中保留 PixelsPerInch = 96

我将 Windows 7 字体大小设置为中等 (125%)。当我打开一个表单 Delphi XE2 IDE 时,DFM 文件中的 PixelsPerInch 总是自动设置为 120。在 Windows 中使用较小的字体大小 (100%) 会使 Delphi DFM 文件中的 PixelsPerInch 变为 96。

这在团队环境中编码时会产生问题。大多数团队成员使用较小的字体大小(100% 或 96 PPI)。存储在版本控制存储库中的所有 DFM 文件都使用 96 PPI。如果我将使用 120 PPI 的 DFM 文件提交到存储库,所有其他团队成员都会对我对 DFM 文件所做的更改感到困惑。所有与大小、宽度或高度相关的属性都将被更改。

使用 120 PPI Windows 环境时,是否可以强制 Delphi IDE 以 96 PPI 保存 DFM?

0 投票
1 回答
418 浏览

delphi - 如何在 Delphi 表单上创建新的 IOTAComponent

我正在尝试编写 Delphi Open Tools API 工具来自动生成和更新放置在数据模块或表单上的组件。我已经可以列出所有组件(每个组件都由 IOTAComponent 的(类)实例表示)并修改它们的属性(setPropByName(...)、getPropValueByName(...))。问题是 - 如何在 Open Tools API 代码中创建新组件,以便将此组件添加到数据模块的形式中?

我正在使用 API 的 IOTAModuleServices 部分,我想这是手头任务的正确部分,不是吗?

0 投票
1 回答
206 浏览

delphi - Delphi OpenTools API - 编辑项目需要子句

我编写了一个 OpenTools 向导,用于为自定义项目类型创建骨架。它确实有效,并且项目和单元已正确创建。但是,如何编辑 .dpk 或 .dpk 文件的 requires 子句?

调用只ModuleServices.CreateModule(MyIOTAProjectCreatorInterface)给我 .dproj 文件。

0 投票
1 回答
102 浏览

delphi - 如何使用 OTA 获取文件错误?

我想访问活动文件 (.pas) 上的错误。现在有一天,我可以在 IDE 的左侧找到它,如图所示。

我在OTA上找到了IOTAModuleErrors接口,这似乎是我想要的。但是我没有在 BorlandIDEServices.QueryInterface 或 BorlandIDEServices.GetService 上找到它。有人知道如何访问它吗?

在此处输入图像描述

0 投票
1 回答
154 浏览

delphi - Delphi OpenTools API 获取组件属性

我正在实现一个包以在 delphi IDE 中转换和自动生成组件。我知道 GExperts 具有类似的功能,但我需要自定义一些特定的属性。

现在我坚持访问该TADOQuery.SQL属性,它是TStrings的一个实例:

我不确定使用RTTI 中的TValue是否是正确的方法。

谢谢

0 投票
0 回答
148 浏览

delphi - Delphi Expert:如何注册 IOTAEditorNotifier 回调

我正在编写一个 Delphi IDE 专家(OpenToolsAPI)。我想接收 IOTAEditorNotifier 接口的回调。

我如何注册以获取这些事件?我没有找到接受 IOTAEditorNotifier 接口的 AddNotifier 调用。

0 投票
0 回答
55 浏览

delphi - Delphi Open Tools - 如何使用 IOTABuildEventProvider 和 IOTABuildEvent?

现在我正在开发一个项目组经理,因为不再支持 DDEVExtensions,我已经掌握了版本信息和其他项目属性 - 但是我也想访问构建事件。

我找到了两个要使用的接口,IOTABuildEventProvider 和 IOTABuildEvent,但在任何地方都找不到示例和文档。

只想了解如何从我拥有的 IOTAProject 接口实例创建 IOTABuildEventProvider 以及如何使用它。

谢谢