dll中的form问题(100分)

  • 主题发起人 主题发起人 leslie cheng
  • 开始时间 开始时间
L

leslie cheng

Unregistered / Unconfirmed
GUEST, unregistred user!
请问:
将带有控件的form做成dll后,是否可以在delphi以外的其他开发环境
如vb或pb中使用?我想在form中建一个Timgae,做成dll后在pb中调用,将
数据传给该dll,用来画图,不知道能否实现该功能?

还是必须做成activex控件才可以使用?

 
用ActiveXForm,把控件放在FORM上,编译成OCX,在别的环境
里装上。试试。
 
应该可以。
 
好象可以
 
不作成ActiveX也是可以的。
例如你做了一个FORM叫TTESTFORM,在DLL中声明一个函数
procedure CallMyForm(AData: Integer); stdcall;
begin
with TTestForm.Create(Application) do
try
// ... Do your things
ShowModal;
finally
Free
end
end;
然后
exports
CallMyForm;
编译后生成DLL,在VB,PB中重新声明就可以使用。没有问题。
我曾经用此方法写过扫描的窗体,然后被PB调用。
 
“将带有控件的form做成dll后,是否可以在delphi以外的其他开发环境
如vb或pb中使用?”对于这一问题,在《DELPHI3从入门到精通》中详细
的叙述。当然可以。
 
是这样的,但是也有个问题出现,dll中的form也出现在状态栏上了
 
使用如下的语句则可把其在状态消失
SetWindowLong( Application.Handle, GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) or
WS_EX_TOOLWINDOW and not WS_EX_APPWINDOW);
 
接受答案了.
 
后退
顶部