![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
TlistView Has no parent control
ford © (2009-02-18 18:44:00)Всем привет! помогите решить такую проблему :(
сделал форму на которой есть TListView. Все нормально все ок!
решил форму и всякую ерунду которая не нужна постоянно перенести в DLL
и динамически подгружать
Подгружаю, вызываю процедурку из DLL которая создает объект форму
отображаеться все нормально, лист заполняеться значениями прекрасно
но как только я пытаюсь кликнуть мышкой по ListView вылетает ошибка
Has not parent control
:(( все другие компоненты расположенные на форме созданной из DLL работают нормально без каких либо проблем только ListView чегото хочет, и я никак не могу понять чего ему надо
вот процедура
Procedure ShowForm;
Begin
sHandle:=Application.Handle;
Application.Handle:=App;
Form1:=TForm1.Create(WParent);
Form1.Parent:=TWinControl(WParent);
Form1.Show;
End;
вот её описание
Procedure ShowForm(App:THandle; WParent:TControl); stdcall;
в чем косяк то?? вроде все по честному
:((
Palladin (2009-02-19 09:47:00) [21]ну так "все пишут", а он рыжий чтоли ? :)
Сергей М. (2009-02-19 09:45:00) [22]
> Procedure ShowForm(App:THandle; WParent:TControl); stdcall;
Вот объясни для начала, зачемты указал stdcall ?
ford (2009-02-19 09:29:00) [23]:)
но всетаки
много чего вы сказали :) а почему такая ошибка выскакивает несказали :)
в проекте просто около 50 разных форм, ессесно я создаю объекты динамически
но мне просто захотелось убрать из основного модуля ряд форм которые просто не используются постоянно, а от случая к случаю, например форма в которой происходи настройка параметров приложения, согласитесь вы её используете ну раз ну два отсилы. Плюс ко всему прочему я хочу использовать эту библиотеку в другом проекте. Я понимаю что мона BPL и все такое прочее, но мне хочется DLL, заодно и разобраться с ним
вроде бы все получается нормально, но вот с это й формой косяк какойто
немогу понять :( я указываю Parent и ParentWindow а ошибка всеравно вылетает
Германн (2009-02-19 00:32:00) [24]
> решил форму и всякую ерунду которая не нужна постоянно перенести
> в DLL
> и динамически подгружать
При такой формулировке нет не только большого смысла, а и вообще никакого!
Достаточно убрать в проекте форму из списка автосоздаваемых.
Юрий Зотов (2009-02-18 21:52:00) [25]> ford (18.02.09 18:44)
Кстати, такой подход оправдан, если эту DLL/BPL планируется использовать многократно, в разных проектах. А если в одном, то большого смысла в этом нет.
Сергей М. (2009-02-18 21:28:00) [26]
> решил форму и всякую ерунду которая не нужна постоянно перенести
> в DLL
Ну а почему не в ресурсы того же exe ?
Какой дури ты начитался, что принял такое решение ?)
Юрий Зотов (2009-02-18 20:08:00) [27]> решил форму и всякую ерунду которая не нужна постоянно перенести
> в DLL
> и динамически подгружать
Перенесите не в DLL, а в пакет (BPL) и этот пакет включите в список run-time пакетов приложения. Проблема исчезнет, причем без всяких манипуляций с подменой Application.Handle.
Amoeba (2009-02-18 19:44:00) [28]
> решил форму и всякую ерунду которая не нужна постоянно перенести
> в DLL
> и динамически подгружать
Это называется Сам Себе Злобный Буратино.
ford (2009-02-18 19:01:00) [29]Попробовал Form1.ListView1.ParentWindow:=TWinControl(WParent).Handle;
непомогает :((