4

我想在编译之前将 dcu 文件添加到项目中。我正在尝试使用OTA。在 IOTAProject 中,我可以选择添加文件(AddFile()),但是当我尝试添加 dcu 时,它不允许我,我必须将文件设置为我的项目中的第一个文件。

我想模拟一些类似的东西:

------------------ Original project
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};
etc...

------------------- Before compile I intercept it and set
program Project1;

uses
  MyDCU, //Add this
  Forms,
  Unit1 in 'Unit1.pas' {Form1};
etc...

------------------ After compile remove and it came back to 
program Project1;

uses
  Forms,
  Unit1 in 'Unit1.pas' {Form1};
etc...

编译后/之前的拦截不是问题 IOTAIDENotifier 为我提供了必要的接口来使用。问题仅在于 dcu 文件作为我项目的第一个文件。

有人可以帮助我吗?Tks

4

1 回答 1

1

由于 OTA 不提供 CodeDom(据我所知),唯一的方法是拦截 BeforeCompile 通知,解析项目文件(IDE 版本不是文件系统)并将其添加到使用子句中. 完成后,将修改后的内容流回 IDE 缓冲区。

于 2012-05-10T07:36:25.517 回答