Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.28;
Скачать: CL | DM;

Вниз

Показ формы из Com объекта   Найти похожие ветки 

 
Stranger ©   (2003-04-17 11:15) [0]

Доброго времени суток уважаемые мастера!
Создаю Com объект от IDispatch

procedure TFrm_TestExe.Button1Click(Sender: TObject);
var
fITULogComObj : ITULogComObj; // Сам Com объект
fErrorStr,
fParamStr : WideString;
begin
fITULogComObj := nil;
fITULogComObj:= CoTULogComObj.Create;
if fITULogComObj <> nil then
With fITULogComObj do begin
SetConnection(Connection.ConnectionString);
SetParam("2003;1");
// RunTULog - показ формы
if RunTULog(fErrorStr, fParamStr, Frm_TestExe.Handle) = E_Fail then
showMessage(fErrorStr);
end;
end;


function TTULogComObj.RunTULog (out aErrorStr, aParamStr: WideString; aOwnerHandle : Integer): HResult;
begin
Result:= E_Fail;
try
Result := S_Ok;
TULog_Frm := TTULog_Frm.Create(nil);
with TULog_Frm do begin
SetYear(CurrentYear);
SetTULogViewType(TULogViewType);
Result := SetConnection(aErrorStr, Connection);
if Result = S_Ok then Show;
end;
except
on E : Exception do aErrorStr:= E.Message;
end;
end;

все работает, но если вместо
TULog_Frm := TTULog_Frm.Create(nil);
написать
TULog_Frm := TTULog_Frm.CreateParented(aOwnerHandle);
то форма создается но на экране не отображается,
как правильно отображать такую форму?
Форма создается от TForm


 
REA ©   (2003-04-17 11:52) [1]

Умного ничего не скажу, но
CreateParented Creates and initializes a control as the child of a specified non-VCL container.

Т.е. про формы там нет ничего - только про ActiveX control.


 
Stranger ©   (2003-04-17 12:20) [2]

to REA ©
Это я читал. Собственно форма тоже является в некотором смысле контролом. И вызов идет из внешнего exe файла.
Еще, фишка в том, что для D5 конструкция с CreateParented(aParentHandle) проходит нормально.


 
REA ©   (2003-04-17 15:42) [3]

ActiveX формы они несколько более другие.
А разницу смотрел в коде D5 и D6?
if Result = S_Ok then Show; - а результат S_Ok?
а Handle<>Nil?


 
Stranger ©   (2003-04-17 16:58) [4]

to REA ©
Разницы в исходном коде нет.
Result точно S_Ok, так как SetConnection - моя функция,
и Handle <> nil, проверял.
Собственно форма описывается так MyForm = class(TForm)? то есть форма обычная, просто она реализована там же где Com объект.



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
1-91398
BBCHa
2003-04-16 14:36
2003.04.28
странное поведение функции из DLL


1-91269
Vin_Ghost
2003-04-16 20:38
2003.04.28
Работа с нетипизированными файлами


3-91175
off
2003-04-09 13:43
2003.04.28
Обновление данных у второго клиетна.


1-91323
Брат
2003-04-15 14:53
2003.04.28
Мастера посмотрите плиз на эту строку и скажите что здесь неверно


6-91421
FND
2003-02-25 01:42
2003.04.28
Срочно нужна помощь по ISAPI/NSAPI для получения файла по HTTP