![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Загрузка визуальных компонентов из DLL [D7, XP]
Vano85 © (2005-11-16 20:36:00)
function CreateTree(x:Tcomponent; parent:TwinControl):TtreeView;stdcall;
var
T:TtreeView;
begin
T:=TtreeView.Create(x);
t.Parent:=parent;
……
……
Result:=t;
end;
Вызов:
Tree переменная процедурного типа.
Var
F:TtreeView;
Begin
…
f:=Tree(self, Form1);
…
При вызове данной функции выдается сообщение ‘Cannot assign a Tfont aTfont’ класс исключения EconvertError. Насколько я понял из всего выше перечисленного у меня проблема с «родителем» свойство parent. Помогите исправить мои ошибки и при возможности объясните или дайте понять в чем именно я ошибся.
Vano85 (2005-11-17 19:48:00) [1]
> Amoeba
Да в принципе Вы правы целесообразно было бы использовать register, ну или то что Вы сказали в принципе равнозначные высказывания;
> Vlad
Огромное спасибо за подсказку Вы все правильно подсказали именно в этом была проблема.
Amoeba (2005-11-17 10:38:00) [2]А директиву stdcallсо спокойной совестью можно убрать, в данном случае она нафиг нужна. Программы, написанные не на Delphi/Builder эту DLL все равно использовать не смогут.
Vano85 (2005-11-16 21:09:00) [3]А вообще по самому алгоритму загрузки данного компонента Вы можете что нибудь сказать?
Vlad (2005-11-16 20:47:00) [4]Обычно рекомендуется в таких ситуациях компилировать и DLL и вызывающее приложение с рантайм-пакетами
В опциях проекта на вкладке Packages флаг "Build with runtime packages"