Текущий архив: 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.45 MB
Время: 0.009 c