Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.05.09;
Скачать: CL | DM;

Вниз

Создание компонент из DLL   Найти похожие ветки 

 
Huliganka   (2002-04-24 22:28) [0]

Здравстуйте, люди добрые!

В общем, есть следующая проблема, и я не знаю, как её побороть. Есть DLL, в которой всего навсего одна функция такого вида

function AddBtn(AOwner: TWinControl): TButton;
begin
Result := TButton.Create(AOwner);
end;

Далее, есть приложение, которое вызывает эту функцию (btn := AddBtn(self);). Короче говоря, хочу, чтобы на мою форму добавилась ещё одна кнопка. Так вот, функция вызывается нормально и возвращает то, что нужно, но при попытке присвоить родителю новой кнопки собственно мою форму (btn.Parent := self;) страшно ругается, говорит "Cannot assign TFont to a TFont". Вот, собственно и всё.

Может, кто знает, в чём тут проблема и как с ней бороться?? Буду очень благодарна. Заранее спасибо!


 
Игорь Шевченко ©   (2002-04-25 09:58) [1]

День добрый,

Нельзя так делать :-)
Если очень хочется, то надо использовать пакеты (BPL), в которых
создавать кнопку и передавать ее в основное приложение. Можно создавать кнопку в основном приложении по факту наличия DLL, к примеру. Дело в том, что TFont в EXE и TFont в DLL - это ДВА РАЗНЫХ КЛАССА, которые ничего друг о друге не знают, и приведены оператором AS друг к другу быть не могут :-( А именно это приведение и пытается выполниться при присвоении btn.Parent := Self.

Можно еще попробовать при создании кнопки в DLL указать ParentFont := false, но где-то еще вы обязательно натолкнетесь на несовместимость классов в DLL и в EXE.

С уважением,

С уважением,



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

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

Наверх




Память: 0.47 MB
Время: 0.008 c
1-26102
com6
2002-04-26 16:50
2002.05.09
Помогите: Как отследить манипуляции мышью и работу на клавиатуре?


3-25988
Reals
2002-04-15 14:27
2002.05.09
Как можно сделать резервную копию (BackUp) базы данных


1-26116
AlexanderSK
2002-04-24 12:29
2002.05.09
MouseWheell


1-26095
Wolfez
2002-04-26 16:47
2002.05.09
Текст из Memo1 в Memo2 и Memo3


1-26096
bobr12
2002-04-26 15:44
2002.05.09
Могут ли недоступные в данный момент компоненты получить фокус?