Показать сообщение отдельно
  #1  
Старый 06.01.2011, 21:04
condor_net condor_net вне форума
Прохожий
 
Регистрация: 06.01.2011
Сообщения: 4
Репутация: 10
По умолчанию Разъясните пожалуйста о 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 после создания объекта или так и тащить ее до конца?
Ответить с цитированием