Вниз
Скачать: CL | DM;

Как динамически подключить библиотеку с компонентами?   Найти похожие ветки 

 
RNF   (2003-04-14 02:49) [0]

Приложение представляет собой специализированный графический редактор, напоминающий среду IDE в Delphi. Нужно предусмотреть возможность инсталляции новых библиотек компонентов (*.bpl),
чтобы компоненты создавались динамически.
Подключаю новую библиотеку динамически, но не работает: при попытке создания компонента возникает исключение, что класс компонента не найден, хотя в библиотеке есть секция инициализации с вызовом процедуры регистрации класса компонента. Если изначально подключить модуль с компонентами в разделе uses, то все работает.
В чем моя ошибка?

// Модуль с новыми компонентами
unit Sample;
interface
uses
...
type
// Новый компонент 1
TSample1=class(TGraphicControl)
...
end;
// Новый компонент 2
TSample2=class(TGraphicControl)
...
end;
implementation
...
initialization
// Регистрирую класс новых компонентов
RegisterClasses([TSample1, TSample2]);
finalization
UnRegisterClasses([TSample1, TSample2]);
end.

// Приложение, использующее новые компоненты
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Grids{, Sample}; // Если раскоментарить, то работает
type
TForm1 = class(TForm)
...
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
Control:TControl;
P ointer;
begin
// Подключаю библиотеку с новыми компонентами
P := Pointer(LoadPackage("C:\Program Files\Borland\Delphi6\Projects\Bpl\dclusr60.bpl"));

// Создаю компонент. Вот здесь ошибка и возникает - класса такого не знает
Control := TControl((FindClass("TSample1")).Create(nil));
Control.Parent := self;
end;
...


 
malkolinge ©   (2003-04-14 12:30) [1]

Register Class надо юзать..FindClass только с зарегестрированными рабоотает...



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.011 c
7-77193
[BAD]Angel
2003-03-05 21:40
2003.04.24
Помогите с отключем службы (Services)


3-76833
Oleon
2003-04-07 15:38
2003.04.24
Как сравнить две базы и одну догнать до другой в MS SQL.


3-76854
avenger
2003-04-03 18:47
2003.04.24
Удаление совпадающих записей


7-77197
SeNtiMeL
2003-03-06 22:10
2003.04.24
Как определить имя компьютера и описание компьютера ?


14-77115
Domkrat
2003-04-06 20:08
2003.04.24
Сохранение параметров App в ini




   Наверх