Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Добавить интерфейс к классу RunTime, чтобы сработал оператор AS 
:(
    Опции темы
dvamaster
Дата 23.8.2011, 11:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Доброго времени суток! Может у Вас есть какие-то мысли?

Родилась мысль, и такая липкая  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;



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

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

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

PKUNZIP.ZIP /неизвестный/
PM MAIL WWW ICQ   Вверх
Frees
Дата 23.8.2011, 13:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: 9
Всего: 54



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

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


--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
dvamaster
Дата 23.8.2011, 13:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



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

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

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


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

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

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

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

Запрещается!

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

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

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


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

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


 




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


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

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