不能显示非模态窗体 ( 积分: 100 )

  • 主题发起人 主题发起人 c56kevin
  • 开始时间 开始时间
C

c56kevin

Unregistered / Unconfirmed
GUEST, unregistred user!
我在用执行一个dll类库里一个类的方法时,如下
con := CreateOleObject('LSA_Login.cLSALogin');
Con.DBType := 5;
Con.login('');


Login找个方法会调用一个登陆窗口显示出来,提示输入登陆信息,输入完成后报错如下:

运行时错误'406'
不能在该主机应用程序中ActiveX Dll、ActiveX 控件或“属性页”显示非模态窗体
运行时错误'440'

如果login的参数不为空的话
如: Con.Login('-dsfm -usysadm -pkevin') 窗体不显示,就不报错

在vb6里能通过 ,在delphi和。net里总是报这个错

请高手指教一下
 
我在用执行一个dll类库里一个类的方法时,如下
con := CreateOleObject('LSA_Login.cLSALogin');
Con.DBType := 5;
Con.login('');


Login找个方法会调用一个登陆窗口显示出来,提示输入登陆信息,输入完成后报错如下:

运行时错误'406'
不能在该主机应用程序中ActiveX Dll、ActiveX 控件或“属性页”显示非模态窗体
运行时错误'440'

如果login的参数不为空的话
如: Con.Login('-dsfm -usysadm -pkevin') 窗体不显示,就不报错

在vb6里能通过 ,在delphi和。net里总是报这个错

请高手指教一下
 
“Login找个方法会调用一个登陆窗口显示出来,提示输入登陆信息”,
你为什么不把Login的代码贴出来看看?
出错信息:
“不能在该主机应用程序中ActiveX Dll、ActiveX 控件或“属性页”显示非模态窗体”
说的很清楚了——你必须在显示窗口时使用ShowModal方法,而不能用Show方法,因为你是在dll里面。
 
这个Dll 是我们的Erp厂商提供给我们的 ,我们是不能修改的。

这个login以后, 这个对象就有一个 AdoConnnection的属性,可以调用 ,
登陆窗体能够显示,应该是在释放的时候出的问题 ?
 
后退
顶部