Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.04.24;
Скачать: 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 вся ветка

Текущий архив: 2003.04.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
1-76910
corte ™
2003-04-15 07:48
2003.04.24
как выделить другим цветов одно слово в гриде среди других


8-77037
atmospheric
2003-01-04 18:20
2003.04.24
wave разобрать по частом...


14-77126
El
2003-04-08 08:50
2003.04.24
Delphi5 в Windows2000


14-77136
Ricks
2003-04-05 18:48
2003.04.24
Office 2003


3-76750
Z_man7777
2003-04-04 08:32
2003.04.24
Как из БД InterBase 6.x картинку затолкать в TImageList?