MDI程序問題,急!急!急!
我新建了一個MDI工程,在工程中添加一個FORM作爲工程的登錄窗體,並將其設為第一個顯示的窗體,在“登錄“按鈕的CLICK事件中用下面的語句創建MDI主窗體:
Application->CreateForm(__classid(TfrmMain), &frmMain);
frmMain->Show();
此時主窗體可以顯示,但在顯示子窗體時(子窗體也用和上面相同的函數創建和顯示),系統提示如下信息:Cannot create form
程序停在Forms.hpp文件的 /* TCustomForm.Create */ inline __fastcall virtual TForm(Classes::TComponent* AOwner) : TCustomForm(AOwner) { }這一行
如果將MDI主窗體設為第一個顯示的窗體,則不會出現上面的現象,子窗體可以正常創建和顯示。
請問這是怎麽回事???
问题点数:0、回复次数:4Top
1 楼freshman2003(秋水长天)回复于 2003-11-02 14:07:41 得分 0
没见过象你这样创建窗体的,主窗体一般直接在WinMain函数中创建,如果不想显示的话你可以先隐藏它,弹出登录窗体后在CLICK事件中加入frmMain->Show();这样才比较合理。
Top
2 楼GeoPhoenix(天鸽)回复于 2003-11-02 14:23:54 得分 0
同意楼上的意见Top
3 楼thinksmart()回复于 2003-11-02 21:38:29 得分 0
to freshman2003(秋水长天) :
你的意思是不是在Project/Options/Forms中將主窗體和登錄窗體都設為程序自動創建,然後將登錄窗體設為第一個啓動的窗體?我試過,還是會出現同樣的問題,好像只要創建了登錄窗體就會出現問題,這是怎麽回事呀?Top
4 楼iyln(流浪猫)回复于 2003-11-02 22:20:50 得分 0
按老规矩,自动创建和显示主窗体,然后在主窗体的构造函数中创建和显示登录窗体,如果登录失败的话用Application->Terminate()结束运行就行了Top




