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

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

работа с компонентами delphi [D6, D7, Win2k, WinXP]


tvv ©   (2007-02-06 17:24:00) 

у меня такой вопрос:
Я создаю DLL в которой находяться несколько компонентов Delphi, которые должны динамически создаваться
Вот пример:

---
SomeButton := TSomeButton.Create(nil);
SomeButton.ParentWindow := WindowHandle;
SomeButton.Visible = True;
---

Если я работаю с DLL из Delphi, CBuilder то все компоненты нормально отображаются, но если я подключаю DLL с помочью другого приложения то они не отображаются но при этом никаких ошибок не возникает.
Но если я пытаюсь создать дочернию форму то все нормально!

---
SomeForm := TSomeForm.Create(nil);
SomeForm.ParentWindow := WindowHandle;
SomeForm.Visible = True;
---

В чем может быть причина?!


Leonid Troyanovsky   (2007-02-09 09:13:00) [1]


> Loginov Dmitry ©   (09.02.07 07:45) [5]

> А не такие продвинутые молча сидят и пихают в DLL все что
> угодно (компоненты, Экшены, потоки), подобных постов не
> читают и проблем не имеют.


Имеют, имеют.
Но не знают, т.к. даже не читают.

--
Regards, LVT.


Loginov Dmitry   (2007-02-09 07:45:00) [2]

> Помещая форму(компоненты) в dll готовься к: отсутствию реакции
> компонентов(в частности, SpeedButton с Flat=true), зависанию
> при вызове TThread.Synchronize, отсутствию реакции на изменение
> темы, неправильному поведению Action'ов, уходу на задний
> план после минимизации, отжиранию 4кб при подключении dll.


Вот разогнался-то как :)

А не такие продвинутые молча сидят и пихают в DLL все что угодно (компоненты, Экшены, потоки), подобных постов не читают и проблем не имеют.


GrayFace   (2007-02-08 23:07:00) [3]

Edit: отсутствию реакции компонентов на вход и выход мышки

Если твоя форма модальная, то отсутствия реакции компонентов на вход и выход мышки, зависания при вызове TThread.Synchronizeне будет.


GrayFace   (2007-02-08 23:02:00) [4]

tvv   (06.02.07 17:24)
В чем может быть причина?!

Многие компоненты должны лежать на форме. Например, кто-то ждет, что их Parent будет им посылать CN_ сообщения и т.п.

Помещая форму(компоненты) в dll готовься к: отсутствию реакции компонентов(в частности, SpeedButton с Flat=true), зависанию при вызове TThread.Synchronize, отсутствию реакции на изменение темы, неправильному поведению Action'ов, уходу на задний план после минимизации, отжиранию 4кб при подключении dll.


iXT   (2007-02-06 20:29:00) [5]


> Я создаю DLL в которой находяться несколько компонентов
> Delphi, которые должны динамически создаваться


DLL не содержит ни одного компонента, как ты сие умудрился?


unknown   (2007-02-06 18:14:00) [6]


> tvv   (06.02.07 17:24)
> Если я работаю с DLL из Delphi, CBuilder то все компоненты
> нормально отображаются, но если я подключаю DLL с помочью
> другого приложения

Это как это?


Наверх

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