本人原本是用VB进行二次开发的,主要是用VB编写activex dll来实现一个类模块名(clsProductFacade),类模块的代码如下:
Option Explicit
'Public oLogin As U8Login.clsLogin
Private IsDemo As Boolean'调用子窗体接口,与原左树菜单控件接口一致
Public Function CallFunction(ByVal cMenuId As String, ByVal cMenuName As String, ByVal cAuthID As String, ByVal cCmdLine As String) As Boolean
Dim Success As Boolean
On Error GoTo errHandler
CallFunction = False
Select Case cMenuId
Case "ZB0101"
ProcessType.Show
Success = True
Case "ZB0102"
Process.Show
Success = True
Case "ZB0201"
yangpin.Show
Success = True
End Select
If Success = False Then
GoTo errHandler
End If
CallFunction = True
Exit FunctionerrHandler:
CallFunction = False
End Function
'发送注销消息
Public Function LogOff() As Boolean
Set m_oLogin = Nothing
LogOff = True
End Function'得到login方法
Public Function Login(Mylogin As Object) As Boolean
Set m_oLogin = Mylogin
Set ConPub = New ADODB.Connection
ConPub.Open m_oLogin.UfDbName '得到数据库连接字符串
Login = True
End Function现在想用delphi来重新编写,不知道怎么转换,请高手指教。
我现在的做法是在delphi中新建一个Activex library(不知道在delphi中是否对应这个?)然后再new一个unit,在里面写一个类TclsProductFacade(用来对应VB中相应的类模块),然后再在里面实现以上的几个方法,但宿主程序还是提示说dll文件没有注册。注:在宿主程序中是通过tz.clsProductFacade来调用activex中的类的,期中tz是dll的文件名。
Option Explicit
'Public oLogin As U8Login.clsLogin
Private IsDemo As Boolean'调用子窗体接口,与原左树菜单控件接口一致
Public Function CallFunction(ByVal cMenuId As String, ByVal cMenuName As String, ByVal cAuthID As String, ByVal cCmdLine As String) As Boolean
Dim Success As Boolean
On Error GoTo errHandler
CallFunction = False
Select Case cMenuId
Case "ZB0101"
ProcessType.Show
Success = True
Case "ZB0102"
Process.Show
Success = True
Case "ZB0201"
yangpin.Show
Success = True
End Select
If Success = False Then
GoTo errHandler
End If
CallFunction = True
Exit FunctionerrHandler:
CallFunction = False
End Function
'发送注销消息
Public Function LogOff() As Boolean
Set m_oLogin = Nothing
LogOff = True
End Function'得到login方法
Public Function Login(Mylogin As Object) As Boolean
Set m_oLogin = Mylogin
Set ConPub = New ADODB.Connection
ConPub.Open m_oLogin.UfDbName '得到数据库连接字符串
Login = True
End Function现在想用delphi来重新编写,不知道怎么转换,请高手指教。
我现在的做法是在delphi中新建一个Activex library(不知道在delphi中是否对应这个?)然后再new一个unit,在里面写一个类TclsProductFacade(用来对应VB中相应的类模块),然后再在里面实现以上的几个方法,但宿主程序还是提示说dll文件没有注册。注:在宿主程序中是通过tz.clsProductFacade来调用activex中的类的,期中tz是dll的文件名。
解决方案 »
- 服务不能正常启动
- TuniQuery如何排序??
- 如何用鼠标 滚轮控制form窗口的滚动?
- 关于tidtelnet的问题 附源码 请帮我看一下
- C写的DLL调用问题
- 谁有根据日期计算出那天是星期几的算法啊!
- 求救:我的qr在预览的时候,如果数据过多,例如超过一页就会抛出个“raised exception class EFCreateError with message'不能建立文件'”
- 请问如何在QRedort里实现多栏目的明细主从打印??急!!!在线等
- inputquery 中怎样把在输入框中显示默认字符串
- 赋值为什么出错,
- 急:请教一个用XMLDocument生成xml的问题!!!!
- Stream.WaitForData(60000)里执行时获得的流为什么为空?
如果确实进行了注册,那还得回头检查你的程序。
你可以在网上找一下DELPHI做activex的文章。如:http://read.newbooks.com.cn/info/157992.html,呵呵,随便GOOGLE了一下。
不错