Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];

Вниз

работа с компонентами delphi   Найти похожие ветки 

 
tvv   (2007-02-06 17:24) [0]

у меня такой вопрос:
Я создаю 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;
---

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


 
unknown ©   (2007-02-06 18:14) [1]


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

Это как это?


 
iXT ©   (2007-02-06 20:29) [2]


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


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


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

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

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

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


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

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

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


 
Loginov Dmitry ©   (2007-02-09 07:45) [5]

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


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

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


 
Leonid Troyanovsky ©   (2007-02-09 09:13) [6]


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

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


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

--
Regards, LVT.



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

Форум: "Начинающим";
Текущий архив: 2007.02.25;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.401 c
8-1151588962
Gotami
2006-06-29 17:49
2007.02.25
Позиция курсора


2-1170672522
@tom
2007-02-05 13:48
2007.02.25
Нужно создать форму (таблицу из WORD).


6-1157482660
_Sergey_
2006-09-05 22:57
2007.02.25
Логика работы сокетов


15-1170349580
SergMsk
2007-02-01 20:06
2007.02.25
Куда залить файл?


15-1170667944
pasha_golub
2007-02-05 12:32
2007.02.25
Визуализация сортировки





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский