Главная страница
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.022 c
9-5371
Fog
2002-09-10 18:45
2003.03.03
Блики линз (просто рассуждение)


14-5829
Юров Владимир
2003-02-13 11:07
2003.03.03
Не открывается аттач


9-5369
][рюн
2002-09-29 20:33
2003.03.03
В чем лучше хранить спрайты? (DelphiX)


14-5827
Cranium
2003-02-12 00:58
2003.03.03
RX не установить


3-5440
bmt
2003-02-13 14:19
2003.03.03
InterBase