Вниз
Скачать: CL | DM;

Проблема с экспертом (IOTAFormEditor)   Найти похожие ветки 

 
Mutex   (2005-05-05 19:30) [0]

Пишу эксперт, в котором мне нужно получить доступ ко всем формам Группы Проектов. Для этого пытаюс перебрать все модули проекта и найти у них интерфейс формы, но ни чего не выходит - перерыл несколько тем в инете, но я все делаю так как в них описано и не могу получить ссылку на нужный мне интерфейс. Вот простой код проверки:

class function TfLanguageManager.GetFormEditor(OTAProject: IOTAProject): IOTAFormEditor;
var
 i: integer;
begin
 // Вот тут, по идее, среди модулей проекта должен быть эдитор формы, но его нет!!!
 for i := 0 to OTAProject.ModuleFileCount - 1 do
   if OTAProject.ModuleFileEditors[i].QueryInterface(IOTAFormEditor, Result) = S_OK then
   begin
     ShowMessage("FormEditor supported");
     Exit;
   end;

   ShowMessage("FormEditor not supported");
end;

procedure TfLanguageManager.FormCreate(Sender: TObject);
var
 i: integer;
begin
 for i := 0 to OTAProjectGroup.ProjectCount - 1 do
   GetFormEditor(OTAProjectGroup.Projects[i]);
end;

class function TfLanguageManager.OTAProjectGroup: IOTAProjectGroup;
var
 Obj: IUnknown;
begin
 Result := nil;
 Obj := EnumOTAModuleServices(IOTAProjectGroup);
 if Assigned(Obj) then
   Result := Obj as IOTAProjectGroup;
end;

class function TfLanguageManager.EnumOTAModuleServices(
 const IID: TGUID): IUnknown;
var
 i: integer;
 OTAModuleServices: IOTAModuleServices;
 OTAModule: IOTAModule;
begin
 Result := nil;
 OTAModuleServices := TfLanguageManager.OTAModuleServices;
 for i := 0 to OTAModuleServices.ModuleCount - 1 do
 begin
   OTAModule := OTAModuleServices.Modules[i];
   if OTAModule.QueryInterface(IID, Result) = S_OK then
     Break;
 end;
end;


Кто нить знает в чем может быть дело?


 
Mutex   (2005-05-11 19:59) [1]

Проблема решена



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.026 c
14-1131456553
matt
2005-11-08 16:29
2005.12.04
Самоучитель игры на гитаре


14-1131637201
Gins
2005-11-10 18:40
2005.12.04
Как узнать что ИБП дал сигнал на выключение компьютера


1-1131171710
Seg
2005-11-05 09:21
2005.12.04
Отмена перехода на с закладки на закладку в PageControl


3-1129812996
DelphiLexx
2005-10-20 16:56
2005.12.04
FIBDataSet и параметр


14-1131948554
Ega23
2005-11-14 09:09
2005.12.04
С днем рождения! 14 ноября




   Наверх