Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.01.2011, 16:19   #1
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию чужие окна и формы

Здравствуйте, уважаемые!
Помогите решить проблему...

Есть Приложение (не моё).
Есть Библиотека, которая внедрена в Приложение.
Есть Поток(потомок TThread) который запускается Библиотекой.
Есть Форма, которая инициализируется и создается в Потоке.

(Дом, который построил Джек )

Простыми словами - библиотека внедряется в приложение и запускает ещё одно окно.

Проблема в следующем: при закрытии Приложения выскакивает ошибка "Недопустимый дескриптор окна".
Как я понял, это из-за то, что окно закрывается раньше, чем ему приходит сообщение о закрытии...

В главной секции библиотеки:
Код:
  WndThread:=TWindowThread.Create(true);
  WndThread.Priority:=tpNormal;
  WndThread.FreeOnTerminate:=true;
  WndThread.Resume;
В Execute данного потока:
Код:
  Application.Initialize;
  Application.CreateForm(TMainForm, MainForm);
  Application.Run;
В проект библиотеки добавлена форма соответствующая.

Как правильно освобождать свои поток и окно (форму)?
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}

Последний раз редактировалось Johnson; 11.01.2011 в 19:24.
Johnson вне форума Ответить с цитированием
Старый 11.01.2011, 19:25   #2
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

За неимением ответов, задан другой вопрос...
Ну и ап темку, извиняюсь за это. Но очень уж нужно
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 11.01.2011, 19:48   #3
veniside
Старожил
 
Регистрация: 03.01.2011
Сообщений: 2,508
По умолчанию

прям вот так вот в Execute().. а в Synchronize() завернуть?
"Когда приходит положенное время, человек перестаёт играть в пинбол. Только и всего."
veniside вне форума Ответить с цитированием
Старый 11.01.2011, 20:27   #4
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Synchronize для слабонервных )
Оставлю это на будущее, дело не в этом, форма создается отлично...
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
окна произвольной формы winApi alex_triton Visual C++ 7 26.08.2010 07:43
Где окна формы и кода-не вижу (Delphi7) Беллая Помощь студентам 6 30.07.2010 23:37
Чужие окна, помогите) Djem1991 Общие вопросы Delphi 13 20.10.2009 13:10
как отследить создание чужой формы(окна) TEHb Общие вопросы Delphi 2 20.02.2009 22:04
отсечение области окна нестандартной формы Makcydrl Win Api 3 07.05.2008 01:36