的Application.Run過程調用一個無限循環,處理Windows消息:德爾福應用程序運行
repeat
try
HandleMessage;
except
HandleException(Self);
end;
until Terminated;
的Terminated
屬性只能通過Application.Terminate
程序,它發送PostQuitMesage設置爲true。 我想更改消息處理循環,這樣我可以使用它的全局變量直接停止(不使用消息隊列):
var MyTerminated:Boolean
....
repeat
try
HandleMessage;
except
HandleException(Self);
end;
until Terminated or MyTerminated;
的問題是,是否有可能使程序使用自己的版本Application.Run?
我試過這一次,不會推薦它。它需要製作一個'Vcl.Forms'的完整副本,最重要的是,確保所有的東西都引用它,而不是主引用。 –
(「試圖**這**」作爲替代默認的一個實現我自己的消息隊列。) –
對我的生活中,我無法想象,你爲什麼會想這樣做。我的猜測是,無論是激發問題,是真正問題的錯誤解決方案 –