Главная страница
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.027 c
6-1125267910
desam_
2005-08-29 02:25
2005.12.04
PHP и Delphi


2-1132265434
demon_god
2005-11-18 01:10
2005.12.04
Получить координаты точки по удалению и азимуту


2-1132479584
Mak55
2005-11-20 12:39
2005.12.04
формуа Arccos в Делфи


2-1131884704
Erick
2005-11-13 15:25
2005.12.04
Подбор пароля по двум символам


14-1132052141
oleggar
2005-11-15 13:55
2005.12.04
clipper deploy