还是子窗口调用的问题~~再搞不出来死的心都有了0(_ _)0
BCB中建立窗体然后封装为DLL,使用DELPHI调用,要求调用的BCB 窗体要以子窗体显示.做的要疯掉了....一直报这个错:Cannot create form.No MDI forms are currently active.
BCB:
USERES("cheshi1.res");
USEFORM("csForm1.cpp", cForm1);
TcForm1* DllMyForm;
extern "C" __declspec(dllexport) void __stdcall CreateFromFunct(HWND hApp);
//---------------------------------------------------------------------------
#pragma argsused
int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void*)
{
return 1;
}
//---------------------------------------------------------------------------
void __stdcall CreateFromFunct(HWND hApp)
{
Application->Handle = hApp;
DllMyForm = new TcForm1(Application);
DllMyForm->FormStyle = fsMDIChild;
DllMyForm->Show();
}
//-----------------------------------------------------------------------
DELPHI的调用:
implementation
procedure CreateFromFunct(hApp:HWND); stdcall external 'dll1\ceshi1.dll';
{$R *.DFM}
procedure TYourForm.N21Click(Sender: TObject);
begin
CreateFromFunct(Application.Handle);
end;
是不是在BCB里面不能用Application->Hadle这样是不是正确?
不知道这里面还有什么问题,就那么点分了....请大家帮忙看看,我在这里谢谢大家了.