Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.12.04;
Скачать: 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 вся ветка

Текущий архив: 2005.12.04;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.04 c
14-1131565515
бабба
2005-11-09 22:45
2005.12.04
Помогите с архитектурным решением


2-1132358469
timerlan
2005-11-19 03:01
2005.12.04
simplex metod


3-1129929995
AlexLines
2005-10-22 01:26
2005.12.04
Как можно найти с помощью SQL запроса слово в ковычках


4-1128372636
JJohn
2005-10-04 00:50
2005.12.04
В куче - список из строк(HeapAlloc & HeapFree)


2-1132332119
HP
2005-11-18 19:41
2005.12.04
как изменить значок