可以看到我们将在ntamenu.pas中实现我们的插件,在这个文件中我们主要用到了以下的接口:iotaservices,被borlandideservices直接实现的接口,是ota的一个基础接口,我们用它的getparenthandle方法来取得delphi ide的句柄;intaservices,在delphi运行时被实现的接口,可以用它的方法直接得到delphi ide的mainmenu、imagelis、actionlist、toolbar这样我们就可以直接做很多操作了;iotamoduleservices、iotamodule、iotaeditor、iotasourceeditor、iotaeditview,在代码中可以看到我们用这些接口来一步一步得到代码编辑器并最后得到一个可以在代码中当前的光标位置处理数据的iotaeditposition接口,我们就用它来向当前光标处插入一句代码,插入大量的代码段还可以使用iotaeditwriter接口。关于在下面的代码中使用到的接口方法我们会在注释中做说明,没有使用到的接口和其它方法别忘了查看toolsapi.pas文件。另外可以注意到下面的代码在很多地方进行检测以保证代码在运行后尽量不要出问题以及在出现异常时能够合理释放资源。别忘了,我们的目的是扩展delphi,而并不是要把delphi ide弄的面目全非。
unit ntamenu;