1 / 1 / 0
Регистрация: 20.06.2011
Сообщений: 55
|
||||||
1 | ||||||
EOSError 1400 "Недопустимый дескриптор окна"21.06.2011, 09:05. Показов 18710. Ответов 29
Метки нет (Все метки)
Доброго времени суток.
После того как перенес некоторый код в поток при завершении программы стала вылетать ошибка EOSError 1400 "Недопустимый дескриптор окна". Код программно помещает на форму некоторое количество некоторых компонентов(таких как tlabel, timage, tbutton итп). Когда код был вне потока все было нормально, причина появления ошибки мне совершенно не ясна т.к. код выполняется до конца без ошибок и по идее поток должен при этом завершаться. Вот этот код:
Заранее спасибо. P.S. Мб мысль глупая но всеже - а не может это быть из за того что если динамически создавать объекты в потоке то поток не завершиться после выполнения и будет продолжать жить пока эти объекты существуют?
0
|
21.06.2011, 09:05 | |
Ответы с готовыми решениями:
29
Недопустимый дескриптор окна error 1400 'System Error. Code: 1400. Недопустимый дескриптор окна' Недопустимый дескриптор окна =) Дескриптор окна |
16 / 16 / 3
Регистрация: 14.06.2011
Сообщений: 64
|
|
21.06.2011, 09:16 | 2 |
Какая связь из Form10. Возможно при обращении к форме она не create.
1
|
1 / 1 / 0
Регистрация: 20.06.2011
Сообщений: 55
|
||||||
21.06.2011, 09:49 [ТС] | 3 | |||||
Запуск потока происходит внутри той самой form10 по ее onshow т.ч. невозможно, полюс как я уже сказал код выполняется до конца без ошибок(я это проверил поставив в конец кода showmessage).
Добавлено через 29 минут Нашел то что вызывает ошибку, эта строчка:
0
|
16 / 16 / 3
Регистрация: 14.06.2011
Сообщений: 64
|
|
21.06.2011, 09:50 | 4 |
К компонентам которые динамически созданы обращаетесь не из потока?
Желательно бы увидеть код где запускается поток и что там еще делается.
1
|
1 / 1 / 0
Регистрация: 20.06.2011
Сообщений: 55
|
||||||
21.06.2011, 10:04 [ТС] | 5 | |||||
Нет обращаюсь не из потока, код который выше привел это полный код этого потока. Запускается поток из onshow как я уже говорил, вот код:
0
|
16 / 16 / 3
Регистрация: 14.06.2011
Сообщений: 64
|
|||||||||||
21.06.2011, 10:16 | 6 | ||||||||||
1
|
21.06.2011, 10:22 | 7 | |||||
Ничего не пойму:
Или я что-то путаю?
1
|
1 / 1 / 0
Регистрация: 20.06.2011
Сообщений: 55
|
|
21.06.2011, 10:22 [ТС] | 8 |
Ппц я и правда идиот... Странно что тут вообще чето работало... А еще странно то что это исправление ошибку не устранило. И еще один момент забыл написать - на форме все динамически созданные объекты показываются нормально, а вот эта злосчастная кнопка из за которой вылетает ошибка не показывается.
deathNC да да я идиот xD хз каким волшебным образом но несморя на то что я такую глупую ошибку допустил он успевал xD но проблема все равно осталась после исправления этой глупой ошибки =\ Тут дело в том что открытие 10 формы предусмотрено не 1 разовое и данные там меняются, по этому при показе формы скорллбокс со всем содержимым стирается и создается заново если с момент последнего показа формы прошло более 15 секунд, вобщем я просто запуск потока поставил до абсурдности неправильно)
0
|
deathNC
|
21.06.2011, 10:26
#9
|
Не по теме: Crystallon, если при сносе компонентов через метод Free будет ошибка, то пробуй сносить через Destroy :)
1
|
16 / 16 / 3
Регистрация: 14.06.2011
Сообщений: 64
|
|||||||||||
21.06.2011, 10:26 | 10 | ||||||||||
1
|
1 / 1 / 0
Регистрация: 20.06.2011
Сообщений: 55
|
|
21.06.2011, 10:30 [ТС] | 12 |
Уже пробовал, также пробовал всем остальным компонентам поставить form10 вместо nil, вообще ничего не меняется.
Ды эт я понимаю, в том то и дело что там ничего не должно быть после запуска потока, я просто не туда его запуск поставил А вообще это бред какойто...чем tbutton хуже других компонентов что приводит к такой проблеме...ведь его создание полностью аналогично созданию других компонентов...
0
|
1 / 1 / 0
Регистрация: 20.06.2011
Сообщений: 55
|
||||||
21.06.2011, 10:36 [ТС] | 14 | |||||
Это в первую очередь проверил, каждую строчку сверил =\
Плюс к тому я код просто скопировал из onshow, он раньше там был а не в потоке и нормально работал И методом коментирования строчек и групп строчек я точно определил что если все оставить как есть и закомменить одну лишь строчку
0
|
1 / 1 / 0
Регистрация: 20.06.2011
Сообщений: 55
|
||||||
21.06.2011, 10:49 [ТС] | 16 | |||||
0
|
1 / 1 / 0
Регистрация: 20.06.2011
Сообщений: 55
|
|
21.06.2011, 10:53 [ТС] | 18 |
Есть) но все как было так и осталось =\
0
|
21.06.2011, 10:56 | 19 | ||||||||||
Это не относится к ошибке, но я не увидел смысла в первой строке и в условии второй:
1
|
1 / 1 / 0
Регистрация: 20.06.2011
Сообщений: 55
|
|
21.06.2011, 10:58 [ТС] | 20 |
Эт сейчас неважно) главное работает xD все равно исправление таких "извращений" не даст заметного прироста в производительности)
0
|
21.06.2011, 10:58 | |
21.06.2011, 10:58 | |
Помогаю со студенческими работами здесь
20
System Error. Code 1400. Недопустимый дескриптор окна Недопустимый дескриптор окна Ошибка Exception EOSError in module .... System error. Code: 1400. Invalid window handle. EOSError 1400 “Недопустимый дескриптор окна” Недопустимый дескриптор окна. (Обмен сообщениями: TCP) Недопустимый дескриптор окна, abnormal program termination Нужно получить дескриптор окна имея дескриптор контрола Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |