请教,VB6程序转成VB.net报Addressof表达式不能转换为long,因为long不是委托类型

ksaponka_tang ksaponka_tang 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
程序如下:

'-- UNZIP32.DLL Userfunctions Structure
Structure USERFUNCTION
Public UZDLLPrnt As Long ' Pointer To Apps Print Function
Public UZDLLSND As Long ' Pointer To Apps Sound Function
Public UZDLLREPLACE As Long ' Pointer To Apps Replace Function
Public UZDLLPASSWORD As Long ' Pointer To Apps Password Function
Public UZDLLMESSAGE As Long ' Pointer To Apps Message Function
Public UZDLLSERVICE As Long ' Pointer To Apps Service Function (Not Coded!)
Public TotalSizeComp As Long ' Total Size Of Zip Archive
Public TotalSize As Long ' Total Size Of All Files In Archive
Public CompFactor As Long ' Compression Factor
Public NumMembers As Long ' Total Number Of All Files In The Archive
Public cchComment As Integer ' Flag If Archive Has A Comment!
End Structure

Public Function FnPtr(ByVal lp As Long) As Long

FnPtr = lp

End Function

Public Function UZDLLPrnt(ByRef fname As UNZIPCBChar, ByVal x As Long) As Long

Dim s0 As String
Dim xx As Long

'-- Always Put This In Callback Routines!
On Error Resume Next

s0 = ""

'-- Gets The UNZIP32.DLL Message For Displaying.
For xx = 0 To x - 1
If fname.ch(xx) = 0 Then Exit For
s0 = s0 & Chr(fname.ch(xx))
Next

'-- Assign Zip Information
If Mid$(s0, 1, 1) = vbLf Then s0 = vbNewLine ' Damn UNIX :-)

UZDLLPrnt = 0

End Function

Public Function VBUnZip32(ByVal uzdcl As DCLIST, ByVal uZipNames As UNZIPnames, ByVal uNumberFiles As Long, ByVal uNumberXFiles As Long, _
ByVal uExcludeNames As UNZIPnames) As Long

Dim retcode As Long
Dim MsgStr As String

Dim UZUSER As USERFUNCTION
Dim UZVER As UZPVER

Dim _UZDLLPrnt = New delegateUZDLLPrnt(AddressOf UZDLLPrnt)


retcode = 1

'-- Set Callback Addresses
'-- (WARNING!!!) Do Not Change
UZUSER.UZDLLPrnt = FnPtr(AddressOf UZDLLPrnt)
UZUSER.UZDLLSND = 0& '-- Not Supported
UZUSER.UZDLLREPLACE = FnPtr(AddressOf UZDLLRep)
UZUSER.UZDLLPASSWORD = FnPtr(AddressOf UZDLLPass)
UZUSER.UZDLLMESSAGE = FnPtr(AddressOf UZReceiveDLLMessage)
UZUSER.UZDLLSERVICE = FnPtr(AddressOf UZDLLServ)

问题出在highlighted ,问题非常急,请各位帮忙,谢谢。
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
ksaponka_tang
VB 16,718 成员 110,520 内容