執行緒攪亂messagebox?

2022-04-15 02:43:18 字數 606 閱讀 5651

執行緒攪亂messagebox? delphi / windows sdk/api

問題現場:(大概意思哈)  

switch(messagebox)  

case:mryes  

case:mrno  

case:mrcancel  

exit;  

單步執行這一段,選擇yes,程式進入thread1=new   tmythread(),然後是tmythread建構函式,然後再按f7/f8,問題就出來了:  

程式跳到了case:mrno裡面開始執行「其他的動作」!*_*~~~~~~~  

怎麼回事呢?怎麼避免?

up沒遇到過,估計是createthread改變了現場變數。  

解決方法:  

1   把   thread1=new   tmythread();放到乙個新的過程裡,  

2   case:mryes   放到最後。  

3   tx=messagebox;  

switch(tx)  

;  

看看行不行?  

謝拉,忘寫break了

bs   啊,害我死了好多腦細胞。

MessageBox常用方法

一 函式原型及引數 function messagebox hwnd hwnd text,caption pchar type word integer hwnd 對話方塊父視窗控制代碼,對話方塊顯示在delphi窗體內,可使用窗體的handle屬性,否則可用0,使其直接作為桌面視窗的子視窗。tex...

MessageBox的常見用法

一 函式原型及引數 function messagebox hwnd hwnd text,caption pchar type word integer hwnd 對話方塊父視窗控制代碼,對話方塊顯示在delphi窗體內,可使用窗體的handle屬性,否則可用0,使其直接作為 桌面視窗的子視窗。te...

MessageBox的常見用法

一 函式原型及引數 function messagebox hwnd hwnd text,caption pchar type word integer hwnd 對話方塊父視窗控制代碼,對話方塊顯示在delphi窗體內,可使用窗體的handle屬性,否則可用0,使其直接作為桌面視窗的子視窗。tex...