Модераторы: MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> создание экземпляра класса Delphi из скрипта, IActiveScript 
:(
    Опции темы
dvamaster
Дата 5.6.2012, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 559
Регистрация: 30.6.2004
Где: Россия : Курган

Репутация: нет
Всего: 10



Доброго времени суток!

Работать с экземплярами классов созданных самой 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"))


--------------------
Хорошую информацию трудно добыть. Сделать с ней что-нибудь - еще труднее. /L. Skywalker/

Что же я сделал не так? /Король Лир/

Я делаю это для твоего же блага! /Любой родитель и палач/

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: ActiveX/СОМ/CORBA"

Rrader
Girder

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Delphi
  • Вопросы по SQL и вопросы по базам данных, не связанные с Delphi, задавать здесь

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Rrader, Girder.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: ActiveX/СОМ/CORBA | Следующая тема »


 




[ Время генерации скрипта: 0.0689 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.