Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: ActiveX/СОМ/CORBA > создание экземпляра класса Delphi из скрипта


Автор: dvamaster 5.6.2012, 08:36
Доброго времени суток!

Работать с экземплярами классов созданных самой Delphi не вызывает труда.

Но как создать экземпляр класса Delphi в самом скрипте? т.е. оператором new!

на MSDN нет инфы  smile

так работает с экземпляром класса.
Код

function TForm1.GetItemInfo(pstrName: PWideChar; dwReturnMask: LongWord;
  out ppiunkItem, ppti: IInterface): HResult;
var
  od: TObjectDispatch;
begin
  Result := S_FALSE;
  if SameText('Form1', pstrName) then
    begin
      if dwReturnMask and SCRIPTINFO_IUNKNOWN <> 0 then
        begin
          od := TObjectDispatch.Create(Self);
          ppiunkItem := od as IInterface;
          Result := S_OK;
          Exit
        end;
      if dwReturnMask and SCRIPTINFO_ITYPEINFO <> 0 then
        begin
          Result := TYPE_E_ELEMENTNOTFOUND;
          Exit;
        end;
    end;
end;


При вызове в скрипте оператора new с именем класса (например: new TMyObject()) dwReturnMask равен SCRIPTINFO_IUNKNOWN.
И как тут передавать класс?

Может нужно создавать экземпляр класса?
А использован ли оператор new можно определить по pstrName, там будет содержаться имя типа. Тип до этого добавить с помощью AddNamedItem.
Тогда как получить параметры конструктора? (например: new TMyObject("testparam"))

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)