Здравствуйте LexusR, Вы писали:
LR>// создание промежуточной переменной типа IUnknown
LR>// спасает IChildCom от преждевременной кончины
LR>// ВОПРОС ЗНАТОКАМ — ЧТО ТАК И НУЖНО ????
LR>// ИЛИ ЕСТЬ БОЛЕЕ ЕСТЕСТВЕННЫЙ СПОСОБ
LR>// ЗАРАНЕЕ БЛАГОДАРЕН!!!!!!
LR>procedure TForm1.BitBtn3Click(Sender: TObject);
LR>begin
LR> FTormoz := CreateComObject(Class_ChildCom);
LR> FChildCom := FTormoz as IChildCom;
LR>end;
умирает потому что у тебя уничтожается ссылка (Delphi во wrappere автоматически делает Release)
имхо лучше не пользоваться всякими врапперами а создавать объект
так как предписано в COM API: через CoCreateInstance
var pUnk: IUnknown; pObj: IMyClassInterface;
CoInitialize(nil);
OleCheck(CoCreateInstance(CLSID_MyClass, nil,
CLSCTX_INPROC_SERVER, IUnknown, pUnk));
OleCheck(pUnk.QueryInterface(IMyClassInterface,pObj));
pObj.MyFunctionCall(x,y,z);