我在這個函式中創建了frmTaskTip表單,但是執行完frmTaskTip := TfrmTaskTip.Create(Application)這句就直接進入frmTaskTip 的onshow事件,急死我了
procedure TfrmMain.ShowTaskTips;
begin
if not Assigned(frmTaskTip) then
frmTaskTip := TfrmTaskTip.Create(Application);
frmTaskTip.FDM := FDM;
frmTaskTip.FUser := FUser;
//frmTaskTip.ShowTips;
frmTaskTip.Show;
end
uj5u.com熱心網友回復:
你的意思是在呼叫Show之前就執行了OnShow?這不科學啊,執行的是OnCreate吧uj5u.com熱心網友回復:
打斷點除錯,表單事件的執行順序OnCreate、OnShow、、、、uj5u.com熱心網友回復:
路過學習一下uj5u.com熱心網友回復:
Delphi的編譯器還是值得信賴的,確定不是Delphi的問題。好好除錯一下。uj5u.com熱心網友回復:
怎么看,代碼都正常的樣子額~會不會還有別的地方在創建?
還是斷點跟蹤,或者,showmessage 吧, 一條陳述句后,加一句 showmessage()
看到底是哪里在作怪了
uj5u.com熱心網友回復:
檢查一下TfrmTaskTip,定義是否有問題。uj5u.com熱心網友回復:
你用的是不是子表單型別的表單?uj5u.com熱心網友回復:
mdi子表單的showform事件是會在createform后自動執行的你在createform后傳入了變數值,希望在showform中呼叫傳入的變數,但對于mdi子表單來說,這樣是不行的
也就是說mdi子表單的showform事件是個擺設
解決方法是,把你目的的onshow事件中的代碼移到一個自定義函式中
createform
傳入引數
呼叫自定義函式
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/103100.html
標籤:語言基礎/算法/系統設計
上一篇:Delphi ActiveX開發 參考VC的dll,報DAX Error
下一篇:DeDeDark的使用
