小弟想做一个非模式的DLL窗体,form2函数用来输出,
function form2(h:thandle;cap:string):boolean;stdcall;
var
Form2: TForm2;
begin
result:=false;
application.Handle:=h;
form2:=tform2.Create(application);
try
form2.Caption:=cap;
form2.Show;
result:=true;
finally
application.Handle:=0;
form2.Free;
end;
end;
但是在主窗体调用form2函数时,这个窗体总是闪一下就不见了,
我想让它显示在调用窗体之上,但又不是模式窗体,这样我可以操作调用窗体.
例如:A调用显示出来B窗体,B窗体在A之上,但又必须可以在不关闭B的同时可以操作A窗体,请问哪位大侠可以帮忙????
function form2(h:thandle;cap:string):boolean;stdcall;
var
Form2: TForm2;
begin
result:=false;
application.Handle:=h;
form2:=tform2.Create(application);
try
form2.Caption:=cap;
form2.Show;
result:=true;
finally
application.Handle:=0;
form2.Free;
end;
end;
但是在主窗体调用form2函数时,这个窗体总是闪一下就不见了,
我想让它显示在调用窗体之上,但又不是模式窗体,这样我可以操作调用窗体.
例如:A调用显示出来B窗体,B窗体在A之上,但又必须可以在不关闭B的同时可以操作A窗体,请问哪位大侠可以帮忙????
form2.Caption:=cap;
form2.Show;
result:=true;
finally
application.Handle:=0;
form2.Free; //你一Show完就把它给Free掉,当然是显示不了啦!
end;
begin
result:=false;
application.Handle:=h;
if Not Assigned(form2) then
form2:=tform2.Create(application);
try
form2.Caption:=cap;
form2.Show;
result:=true;
finally
application.Handle:=0;
// form2.Free;
end;
要调用DLL中的类,必须在DLL中创建!
窗体也是类!先在DLL中实现一个创建过程!