Delphi IDE Expert-拦截“查看源代码”或DPR文件加载

时间:2018-08-10 17:30:56

标签: delphi ide delphi-xe2 toolsapi otapi

试图为Delphi XE2调优AutoOpenUnit IDE专家(实现I-OTA-IDE-Notifier并实现FileNotification事件)时,我偶然发现了一个问题...

我需要扫描由代码编辑器(或IDE本身)打开的每个源文件。

我做了一个测试项目:控制台应用程序(DPR),它使用两个单元-Unit1.pas和Unit2.pas

我删除项目DSK文件或保存在代码编辑器中没有打开文件的项目,或者仅保存DPK文件。

现在,.DPR文件本身几乎从未通过notifier事件传递。 发生这种情况的唯一情况是-当我执行“打开项目”并指定它时。

但是,当我执行“文件/重新打开”时-DRPOJ文件表示已打开,而不是DPR文件。 在预打开项目的情况下重新启动IDE时,它再次“打开” DPROJ文件,“跳过” DPR文件。

活动项目之类的活动通知已更改。 甚至还有针对项目DSK文件和默认空项目组文件的“文件打开”通知。但不适用于项目源文件。

在这里,我可以附带一些粗略的技巧,以从DPROJ文件中提取项目名称并“通知”我自己。尽管事实是事实,IDE不会为此触发“正常”事件?

更糟。如果我打开了项目(但项目DPR文件已关闭),然后执行“查看源代码”操作-那么在“代码编辑器”打开项目的新选项卡时,专家不会遇到任何事件。

当在代码编辑器中打开带有项目根文件的新选项卡时,是否有办法确保IDE通知您?

UPD。我发现iOTAEditorNotifier,现在正在尝试阅读CnWizards如何使用它,因为在IDE OTA中似乎没有对该接口的注册调用...

P.S。 https://github.com/the-Arioch/XE2_AutoOpenUnit

P.P.S。 XE2字符串双重免费错误演示:http://www.sql.ru/forum/1300873-a/xe2-string-double-free

0 个答案:

没有答案