Главная страница
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.016 c
3-76848
SNike
2003-04-08 04:13
2003.04.24
BDE, EXCEL, WORD


14-77092
Pitay
2003-04-07 07:59
2003.04.24
String to Char


1-77005
raiv
2003-04-14 10:54
2003.04.24
Как в ListBox получить список выделенных Items?


4-77241
Walter
2003-02-27 13:11
2003.04.24
SetWindowsHookEx


7-77187
iusupp
2003-03-05 21:49
2003.04.24
Мастера ... можно играть и смотреть кино...?