回 帖 发 新 帖 刷新版面

主题:请教VB代码转换成VFP代码?


Public Function GetProgID(ByVal sFileName As String) As Variant
    Dim TLibInfo As TypeLibInfo
    Dim TLibClass As CoClasses
    Dim sResult() As String
    Dim sHeader As String
    Dim i As Integer   
    On Error GoTo ErrorMark   
    'Initialize
    GetProgID = ""
    sHeader = ""
    Set TLibInfo = TypeLibInfoFromFile(Trim(sFileName))
    Set TLibClass = TLibInfo.CoClasses

    'ProgID Header
    sHeader = TLibInfo.Name
   
    If TLibClass.Count > 0 Then
        ReDim sResult(TLibClass.Count - 1)
       
        For i = 1 To TLibClass.Count
            sResult(i - 1) = sHeader + "." + TLibClass.Item(i).Name
        Next i
       
        GetProgID = sResult
    End If
   
ErrorMark:
    Set TLibInfo = Nothing
    Set TLibClass = Nothing
End Function

Public Function CheckFormat(ByVal sFileName As String) As Boolean
    Dim TLibInfo As TypeLibInfo
    Dim TLibClass As CoClasses
   
    On Error GoTo ErrorMark
   
    CheckFormat = False
    Set TLibInfo = TypeLibInfoFromFile(Trim(sFileName))
    Set TLibClass = TLibInfo.CoClasses
   
    If Trim(TLibInfo.Name) <> "" And TLibClass.Count > 0 Then
        CheckFormat = True
    End If
           
ErrorMark:
    Set TLibInfo = Nothing
    Set TLibClass = Nothing
End Function
请即懂VFP又懂VB的老师帮助一下,把以上代码转换成VFP代码行不?

回复列表 (共12个回复)

11 楼


你是了吗?
[color=FF0000]两面的数组名不能变的,[/color]
不是连调用的代码都写给你了吗,
你先用我给你的代码,正常以后你再按你的意图修改!
我常用,都没问题的,你怎么能不行呢?

PRIVATE aCoClasses  && 或者不声明 都没问题啊
DIMENSION aCoClasses[1]
aCoClasses= GetProgID("Richtx32.ocx",.F.)

12 楼

谢谢cbl518老师,我试过了,真的可以这样,但不明白为什么?

我来回复

您尚未登录,请登录后再回复。点此登录或注册