本人原本是用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的文件名。
解决方案 »
- 有关delphi动态创建控件并选中的问题
- 使用DELPHI如何重设WINDOWS用户的密码
- com组件封装窗口的问题
- 判断记录中的数据问题 急!!!
- >>今天结完了今年所有的贴子>>大约2000多分>>再散200分给没有得分的DELPHI朋友>>...
- 不很简单的问题!解决结贴
- vb中有一个函数asc,delphi中有类似的函数吗?
- 在金山音霸中有一个混合声道,在delphi中怎么实现,快,救救我吧!
- delphi2009按拼音检索的问题
- 关于写批处理文件的问题----------记得dos的朋友请进...
- 急:请教一个用XMLDocument生成xml的问题!!!!
- Stream.WaitForData(60000)里执行时获得的流为什么为空?
如果确实进行了注册,那还得回头检查你的程序。
你可以在网上找一下DELPHI做activex的文章。如:http://read.newbooks.com.cn/info/157992.html,呵呵,随便GOOGLE了一下。
不错