请问带界面的DLL,如何自动执行一个按纽触发事件?(50分)

  • 主题发起人 主题发起人 oldwolf201
  • 开始时间 开始时间
O

oldwolf201

Unregistered / Unconfirmed
GUEST, unregistred user!
我用C++BUILDER写了一个带界面的DLL,
其中:
extern "C" __declspec(dllexport) bool __stdcall Login(char name[],char pass[])
{ OleInitialize(NULL);
Form2=new TForm2(Form2);
Form2->ShowModal();
Form2->bolSuc=true;
if(Form2->ShowModal()==mrOk)
.....
}
void __fastcall TForm2::Button1Click(TObject *Sender)
{
ModalResult = mrOk;
}
现在我想不按button1按纽自动继续执行程序,请问该如何实现?
 
那你找一个地方就执行
Button1Click(*Sender)
不就行了吗?在DELPHI里我么做过
 
由于我是在extern "C" __declspec(dllexport) bool __stdcall Login(char name[],char pass[])函数中,所以Form2->Button1Click(*Sender);抱错*Sender没定义
 
extern "C" __declspec(dllexport) bool __stdcall Login(char name[],char pass[])
{ OleInitialize(NULL);
Form2=new TForm2(Form2);
Form2->ShowModal();
Form2->bolSuc=true;
//if(Form2->ShowModal()==mrOk)
TObject *Sender;
Form2->Button1Click(Sender);
这样编译通过但程序调用此DLL的时候,FORM2显示出来以后并没有自动执行下面的点击按纽事件。请问该如何实现?
 
执行Form2->Button1Click(Form2->Button1)
 
你的按钮事件可能已经执行了,建议用Close方法
 
Form2->Button1Click(Form2->Button1)
这个我也试过还是不行,一般情况下可以,放到DLL的函数里就不行了
我现在用的是timer来解决这个问题,功能是可以实现,但我觉得应该可以直接在函数里写的
 
ShowModule后面的代码是窗体关闭后执行的
 
后退
顶部