Разъясните пожалуйста о bpl
Доброго времечка суток.
Решился вот разносить проекты по packag'ам - да вот незадача вышла - никак не приложу как объявленный в одном из модулей класс создать экземпляром в приложении, притом, что bplка грузится через LoadPackage
Вот простейший пример
модуль в проекте с bpl:
unit MyModule;
...
type TMyClass = class
public
constructor Create(SomeParam: string);
destructor Destroy; override;
end;
...
далее собственно описываются сами конструктор и деструктор
...
end;//MyModule
собраем bplку - к примеру, MyBPL.bpl
далее приложение уже другое
...
implementation
var PluginModule: HMODULE;
procedure TForm1.FormCreate(Sender: TObject);
var
MyForm: TClass;
begin
PluginModule := LoadPackage('MyBPL.bpl');
// вот тут мне нужна такая конструкция для приведения типа
MyForm := FindClass('TMyClass');
// а вот это не работает
(MyForm as TMyClass).Create('sometext');
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
UnloadPackage(PluginModule);
end;
end; // ...
вот собственно и проблема. Хочу оперировать объектом MyForm как TMyClass - подскажите пожалуйста, как это сдлеать.
И второй вопрос - лучше сразу выгружать bpl после создания объекта или так и тащить ее до конца?
|