~很急关于子窗体的有关问题orz
求助~~~~~很急~~~关于子窗体的问题orz
我在BCB里写了一个简单的窗体而后封装成DLL,由DELPHI调用,在DELPHI的MAINMENU中将BCB 的窗体调用出来,但是我将它设置为子窗体就报错
Cannot create form.No MDI forms are currently active.都快崩溃了,不知道该怎么办啦~~大家帮帮忙~!
BCB中的代码:
USERES( "cheshi1.res ");
USEFORM( "csForm1.cpp ", cForm1);
TcForm1* DllMyForm;
extern "C " __declspec(dllexport) __stdcall void CreateFromFunct();
//---------------------------------------
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
return 1;
}
//---------------------------------------
void __stdcall CreateFromFunct()
{
DllMyForm = new TcForm1(Application);
DllMyForm-> FormStyle = fsMDIChild;
DllMyForm-> Show();
}
//---------------------------------------
DELPHI中的调用
implementation
procedure CreateFromFunct(); stdcall external 'dll1\ceshi1.dll ';
{$R *.DFM}
procedure TYourForm.N21Click(Sender: TObject);
begin
CreateFromFunct();
end;
------解决方案--------------------
CreateFromFunct需要传入调用程序的Application句柄
void __stdcall CreateFromFunct(HWND hApp)
{
Application-> Handle=hApp;
DllMyForm = new TcForm1(Application);
DllMyForm-> FormStyle = fsMDIChild;
DllMyForm-> Show();
}
我在BCB里写了一个简单的窗体而后封装成DLL,由DELPHI调用,在DELPHI的MAINMENU中将BCB 的窗体调用出来,但是我将它设置为子窗体就报错
Cannot create form.No MDI forms are currently active.都快崩溃了,不知道该怎么办啦~~大家帮帮忙~!
BCB中的代码:
USERES( "cheshi1.res ");
USEFORM( "csForm1.cpp ", cForm1);
TcForm1* DllMyForm;
extern "C " __declspec(dllexport) __stdcall void CreateFromFunct();
//---------------------------------------
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
return 1;
}
//---------------------------------------
void __stdcall CreateFromFunct()
{
DllMyForm = new TcForm1(Application);
DllMyForm-> FormStyle = fsMDIChild;
DllMyForm-> Show();
}
//---------------------------------------
DELPHI中的调用
implementation
procedure CreateFromFunct(); stdcall external 'dll1\ceshi1.dll ';
{$R *.DFM}
procedure TYourForm.N21Click(Sender: TObject);
begin
CreateFromFunct();
end;
------解决方案--------------------
CreateFromFunct需要传入调用程序的Application句柄
void __stdcall CreateFromFunct(HWND hApp)
{
Application-> Handle=hApp;
DllMyForm = new TcForm1(Application);
DllMyForm-> FormStyle = fsMDIChild;
DllMyForm-> Show();
}