Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.03.03;
Скачать: CL | DM;

Вниз

как можно импортировать из DLL объекты?   Найти похожие ветки 

 
Jolik   (2003-02-19 12:05) [0]

т.е. ссылку то можно получить. А что будет потом?


 
Игорь Шевченко ©   (2003-02-19 12:30) [1]

А потом будет Aссess Violation


 
han_malign ©   (2003-02-19 14:33) [2]

Полностью абстрактый интерфейс и обращайся сколько хочешь (если структура объектов (и RTTI) совпадает конечно (Delpfi с BC++, но не с VC)). Статические методы тоже в принципе прокатят, но не всегда и дублирование кода получится...
Обычно еще обвязка делается, чтобы статические методы в нужном контексте выполнялись (в DLL):

unit XMy;
interface
type TXMyObject = class
public
procedure Method1(...);virtual; abstract;
............
end;
end;

unit My;
interface
type TMyObject = class(TXMyObject)
public
procedure Method1(...); override;
............
end;
implementation
procedure TMyObject.Method1(...);
............
end;

Library MyLib;
uses My;
...
function CreateMyObject: TXMyObject;
begin
Result:=TMyObject.Create;//заметь - без X
end;
procedure FreeAndNil(var aObject: TObject);
begin
aObject.Free;aObject:=nil;
end;
end;

program Test;
uses XMy;
function CreateMyObject: T XMyObject;external "MyLib";
procedure FreeAndNil(var aObject: TObject);external "MyLib";
var obj: T XMYObject;
begin
obj:=CreateMyObject;
obj.Method1(...);
FreeAndNil(obj);
end;



Страницы: 1 вся ветка

Текущий архив: 2003.03.03;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.018 c
1-5525
Checist [root]
2003-02-21 11:06
2003.03.03
Построчное чтение текста из Memo


3-5421
IUSUPp
2003-02-12 23:21
2003.03.03
Не работает поиск после добавления нового абонента


1-5541
polecat79
2003-02-21 13:41
2003.03.03
Проблемма с написанием наследника от TPropertyEditor


3-5409
Cossys
2003-02-12 12:42
2003.03.03
Повреждение базы, Paradox 7.0


1-5581
alxx
2003-02-19 14:10
2003.03.03
Не знаете как бороться с ошибкой?