Show Modal от thread

2 отговора 0 прегледа
#1

Show Modal от thread

Здравейте,

Моля за помощ, когато извикам Show Modal от нишка всичко работи ОК, докато не затворя главната програма, тогава получавам следното:
Invalid Window Handle System Error code 5.
Засега съм решил проблема с таймер, но е много кофти така.

Отговор
в отговор на Gele #2

Re: Show Modal от thread

Още по-кофти е, че извикваш UI от нишка, различна от главния VCL тред. Не може да го правиш това. Премисли си дизайна така, че потребителския интерфейс да си е в главната нишка, а работата да се върши в твоята такава.

И сега, понеже знам, че ще кажеш, че то работи... Нищо не ти гарантира, че ще работи винаги. При някое показване ще получиш някоя странна грешка (най-вероятно AV). За пробата - пусни една нишка (или няколко) да показват и скриват прозорци в цикъл с достатъчно на брой итерации и ти гарантирам, че ще гръмне.

Linux isn't free, it's worthless.


Отговор
в отговор на Gele #3

Re: Show Modal от thread

Андрей е прав. Виж TThread.Synchronize в хелпа на Delphi за повече информация.

Mixy
Отговор