Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Добавить интерфейс к классу RunTime


Автор: dvamaster 23.8.2011, 11:53
Доброго времени суток! Может у Вас есть какие-то мысли?

Родилась мысль, и такая липкая  smile 

В общем решил дописать в Область Информации Об Интерфейсах свою информацию.

Например объект и интерфейс

Код

TTest = class(TObject)
  function Test: Integer; stdcall;
end;

ITest = interface
  function Test: Integer; stdcall;
end;


есть процедура "добавления интерфейса" например AddInterfaceToObject

итого должно получится

Код

var
  t: TTest;
  i: ITest;
begin
  t := TTest.Create;
  AddIntenfaceToObject(t, ITest);
  i := t as ITest
end;


или

Код

TTest = class(TObject)
  function Test: Integer; stdcall;
end;

ITest = interface
  function Test: Integer; stdcall;
end;

// получаем мета описание интерфейса
// скорее своя какая-то структура
// т.к. RTTI не показывает информацию о методах интерфейсов
function Get_ITest_IntefaceInfo: TInterfaceInfo;

procedure AddInterfaceToObject(AObject: TObject; AInterfaceInfo: TInterfaceInfo);

var
  t: TTest;
  i: ITest;
  ii: TInterfaceInfo;
begin
  t := TTest.Create;
  ii := Get_ITest_IntefaceInfo;
  AddIntenfaceToObject(t, ii);
  i := t as ITest
end;

Автор: Frees 23.8.2011, 13:13
Цитата(dvamaster @  23.8.2011,  14:53 Найти цитируемый пост)
Доброго времени суток! Может у Вас есть какие-то мысли?

Есть мысль что это плохая мысль, зачем это может понадобится?

Автор: dvamaster 23.8.2011, 13:29
ввызов методов объектов в другом процессе и даже на другой машине (типа удаленного вызова процедур, с возвратом интерфейсов)

Поизучал тут, если только код править рантайм  smile (кАлдунство)

На какой бред иногда меня пробивает, даже велосипед не получается  smile 

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