Главная страница
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.026 c
1-5520
Думкин
2003-02-21 07:03
2003.03.03
Resize


14-5726
Anatoly Podgoretsky
2003-02-15 11:03
2003.03.03
Именинники 15 февраля


14-5770
Мазут Береговой
2003-02-16 08:22
2003.03.03
Я


3-5384
Tornado
2003-02-12 07:55
2003.03.03
Мастера, подскажите приемлимое решение, плиз


3-5466
roadrunner
2003-02-12 16:38
2003.03.03
Еще вопрос про Адо