Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

TlistView Has no parent control


Страницы:   1 2

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;

непомогает :((


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо