DXPExpertUnit.pas 2.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. // DXPExpertUnit
  2. {
  3. DXP cross-platform support for Delphi Expert.
  4. Integrates FreePascal support into the Delphi IDE.
  5. Licensed under MPL (http://www.mozilla.org/MPL/)
  6. Copyright 2003 - Eric Grange
  7. }
  8. unit DXPExpertUnit;
  9. interface
  10. uses
  11. Windows, Messages, SysUtils, Classes, ToolsApi, DXPExpertModule, Menus;
  12. type
  13. // TDXPExpert
  14. //
  15. TDXPExpert = class(TNotifierObject, IOTAWizard)
  16. private
  17. { Private Declarations }
  18. protected
  19. { Protected Declarations }
  20. // IOTAWizard
  21. procedure Execute;
  22. function GetIDString: string;
  23. function GetName: string;
  24. function GetState: TWizardState;
  25. public
  26. { Public Declarations }
  27. constructor Create;
  28. destructor Destroy; override;
  29. end;
  30. function DMDXPExpertModule : TDMDXPExpertModule;
  31. procedure Register;
  32. // -----------------------------------------------------------------
  33. // -----------------------------------------------------------------
  34. // -----------------------------------------------------------------
  35. implementation
  36. // -----------------------------------------------------------------
  37. // -----------------------------------------------------------------
  38. // -----------------------------------------------------------------
  39. uses Dialogs, FDXPCompileLog;
  40. var
  41. vModule : TDMDXPExpertModule;
  42. procedure Register;
  43. begin
  44. RegisterPackageWizard(TDXPExpert.Create);
  45. end;
  46. // DMDXPExpertModule
  47. //
  48. function DMDXPExpertModule : TDMDXPExpertModule;
  49. begin
  50. Result:=vModule;
  51. end;
  52. // ------------------
  53. // ------------------ TDXPExpert ------------------
  54. // ------------------
  55. // Create
  56. //
  57. constructor TDXPExpert.Create;
  58. begin
  59. vModule:=TDMDXPExpertModule.Create(nil);
  60. vModule.FOTAServices:=BorlandIDEServices as IOTAServices;
  61. vModule.FNTAServices:=BorlandIDEServices as INTAServices;
  62. vModule.HookIDE;
  63. end;
  64. // Destroy
  65. //
  66. destructor TDXPExpert.Destroy;
  67. begin
  68. ReleaseDXPCompileLog;
  69. vModule.UnHookIDE;
  70. FreeAndNil(vModule);
  71. inherited;
  72. end;
  73. // Execute
  74. //
  75. procedure TDXPExpert.Execute;
  76. begin
  77. ShowMessage('Execute');
  78. end;
  79. function TDXPExpert.GetIDString: string;
  80. begin
  81. Result:='DXP.Expert';
  82. end;
  83. // GetName
  84. //
  85. function TDXPExpert.GetName: string;
  86. begin
  87. Result:=ClassName;
  88. end;
  89. // GetState
  90. //
  91. function TDXPExpert.GetState: TWizardState;
  92. begin
  93. Result:=[];
  94. end;
  95. end.