做系统启动界面时出问题,求救!!——菜鸟提问。
我做了一个名为StartupForm的窗体作为系统的启动窗体。完了在Project->View Source里面将WinMain()函数修改成如下代码:
WINAPI WinMain(HINSTANCE, HINSTANCE, LPSTR, int)
{
try
{
Application->Initialize();
Application->CreateForm(__classid(TForm1), &Form1);
Application->CreateForm(__classid(TDataMod), &DataMod);
Application->CreateForm(__classid(TSearchDlg), &SearchDlg);
Application->CreateForm(__classid(TFilterDlg), &FilterDlg);
Application->CreateForm(__classid(TGridView), &GridView);
Application->CreateForm(__classid(TQuickAddress), &QuickAddress);
Application->CreateForm(__classid(TQuickPhone), &QuickPhone);
Application->CreateForm(__classid(TQuickAll), &QuickAll);
Application->CreateForm(__classid(TPrintGroup), &PrintGroup);
Application->CreateForm(__classid(TStartupForm), &StartupForm);
TStartupForm* StartupForm=new TStartupForm(NULL);
StartupForm->ShowModal() ;
delete StartupForm;
Application->Run();
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
catch (...)
{
try
{
throw Exception("");
}
catch (Exception &exception)
{
Application->ShowException(&exception);
}
}
return 0;
}
编译后出错,提示如下:
[C++ Error] Project1.cpp(33): E2450 Undefined structure 'TStartupForm'
[C++ Error] Project1.cpp(33): E2034 Cannot convert 'int' to 'TStartupForm'
[C++ Error] Project1.cpp(34): E2315 'ShowModal' is not a member of 'TStartupForm', because the type is not yet defined
[C++ Error] Project1.cpp(50): E2451 Undefined symbol 'exception'
请教高手,如何解决??
[解决办法]
把StartupForm所在的单元头文件包含一下,例如:
#include "UnitXXX.h"
但是话又说回来了,这一行代码已经创建了StartupForm窗体:
Application->CreateForm(__classid(TStartupForm), &StartupForm);
后面为什么还要new一个窗体再ShowModal呢?