问题标签 [toolsapi]
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.
delphi - 如何从 IOTAProject 获取主要源文件名?
至少从 D2007 开始,项目文件可以有一个具有不同基本名称的主源文件。DevExpress 演示利用了这一点:例如,有一个 dpr 文件 UnboundListDemo.dpr 作为 UnboundListDemoD11.dproj 和 UnboundListDemoD12.dproj 的主要来源。
现在,如果我有Project: IOTAProject
然后Project.FileName
返回 dproj 文件名。我找不到获取 dpr 文件名的“官方”方式。有没有?可以通过解析 dproj 文件获得它(请参阅此处),但我更喜欢 ToolsAPI 方法。
编辑:我根据乔恩的回答想出了这段代码:
Is... 例程来自GX_GenericUtils。
编辑 2:如何创建以下情况之一:
- 创建新的 VCL 应用程序。
- 另存为 MyProject.dproj。
- 在 IDE 中关闭项目。
- 在 Windows 资源管理器中,将 MyProject.dproj 重命名为 MyProjectD11.dproj。
- 从现在开始一定要打开 MyProjectD11.dproj,而不是MyProject.dpr!
delphi - 提高 Delphi 2010 自己的调试可视化工具的速度
我为 TDataSet 编写了 Delphi 调试可视化工具来显示当前行的值,源 + 屏幕截图:http ://delphi.netcode.cz/text/tdataset-debug-visualizer.aspx 。工作很好,但很慢。我做了一些优化(如何获取字段名),但仍然只有 20 个字段需要 10 秒才能显示 - 非常糟糕。
主要问题似乎是慢 IOTAThread90.Evaluate 使用的主要代码如下所示,这个过程花费了大部分时间,与 ** 大约 80% 的时间一致。FExpression 是代码中 TDataset 的名称。
现在我不知道如何提高性能。
delphi - 如何过滤 Delphi 2010 编译器输出(提示)?
我试图摆脱 Delphi 编译器发出的一些提示(*)。浏览ToolsAPI ,我看到一个IOTAToolsFilter,它看起来可以帮助我通过它的Notifier 完成此任务,但我不确定如何调用它(通过我可以访问过滤器的xxxServices)。
谁能告诉我我在这里是否走在正确的轨道上?谢谢!
(*) 特别是,H2365 关于与父级大小写不匹配的覆盖方法。当您有大约 500 万行活动代码且代码约定与 Embarcadero 的代码约定略有不同时,这不是很好。几个月来我们一直在毫无提示地工作,我们有点想念他们。:-)
delphi - Delphi中如何通过ToolsAPI获取模块的结构?
我想通过ToolsAPI获取模块(帕斯卡单元)的结构信息。就像 IDE 的结构视图一样。
类、记录、接口、变量/常量等成员、参数等
是否已经有一种简单有效的方法来获取这些元数据?
delphi - 如何使用 Open Tools API 折叠插入的区域?
我想在编辑视图中插入一个区域,然后折叠这个区域。
此代码片段将在代码编辑器中插入一个区域。但是 IDE 需要一些操作才能在代码编辑器中生成这样的区域。
有什么方法可以强制 IDE 执行此操作,然后我可以使用
折叠它?
delphi - 创建一个简单的 Delphi IDE 专家
我想为 Delphi 7 创建一个简单的 IDE Expert,如下图所示:
我已经验证了为这个问题提供的链接,但 OTA Api 新闻组已失效,并且大部分文档不可用(链接断开)。有人可以给出一个起点吗?
delphi - Delphi Open tools Api 创建项目向导
我正在尝试创建一个项目向导,并且对开放工具 api 完全陌生。
我得到了以下问题。是否可以将项目保存到特定位置,如果可以,我该怎么做。我的向导询问位置。
我创建了一个新表单,但它的名称为 Form1。我喜欢给它一个具体的名字。我怎样才能做到这一点?
我喜欢将数据模块复制到我的项目中。如何告诉向导复制文件并将其以不同的名称保存在项目目录中?
delphi - 如何使用 ToolsAPI 检索 $(Config) 的值?
在使用 ToolsAPI 编写 Delphi 专家时,我们可以使用 GetEnvironmentVariable 来检索当前 Delphi IDE 进程可用的环境变量。但是,这仅适用于在您当前的用户帐户设置或 Delphi 的环境变量设置中定义的变量
Delphi 2010 / XE 中的 $(Config) 等一些变量可供使用,但它不显示为环境变量。我们可以通过在详细设置中打开“诊断”来获得变量列表。在 Delphi IDE 中编译项目时,$(Config) 变量会出现在诊断输出中。
有没有办法在 ToolsAPI 中检索 $(Config) 的值?
delphi - Delphi的ToolsAPI的IOTAProjectCompileNotifier如何实现?
我正在使用 Delphi XE IDE。我创建了一个通知器来实现 IOTACompileNotifier。在 IDE 中安装专家后。当我编译我的项目时,代码工作正常。通知程序正在为 ProjectCompileStarted 工作。
第二次编译我的项目,Delphi IDE提示:
虽然我的表现看起来很奇怪:
在通知者中。我只想显示无论我如何使用,ProjectBuilder 的 Add and Remove compile notifier 似乎都无法正常工作。
请告知我应该如何实施 IOTAProjectCompileNotifier。
谢谢你。
以下是完整的源代码:
delphi - 我可以通过 Toolsapi 恢复 Delphi XE 项目的更改吗?
我正在编写 Delphi XE 专家。专家将构建配置从“调试”切换到“发布”,执行构建并将“发布”切换回“调试”。
切换构建配置时,只有 .dproj 文件已修改。项目状态变为已修改。
是否可以使用 ToolsAPI 恢复项目文件状态?