我想在一个工程中动态引用一个VB做的DLL文件,应该怎么写??

解决方案 »

  1.   

    我记得好像有个函数大概是loadbibrary,但我不知道是不是,也不知道怎么用
      

  2.   

    SET OBJECT =OBJECTCREATE("DLL.CLASS")
    SET OBJECT =loadbibrary(PATH & "\DLL.DLL")
      

  3.   

    呵呵,你说的大概就是用CreateObject创建对象了
      

  4.   

    我不想在工程运行时加载DLL文件,也不想注册,只是想在要用的时候加载,不知道有没有这样的方法。
      

  5.   

    VB生成的DLL一定要注册的,呵呵。你应该只是不想做安装程序吧?可以使用动态注册的方法:on error goto aErr    Dim dllObj As Object, regTry As Boolean
        Set dllObj = CreateObject("Dll.class")    '你的类名
        
        msgbox "成功建立对象"
        Exit sub
        
    aErr:
        If Err.Number = 429 And Not regTry Then
            '引用dll错误且dll库存在,尝试注册它一次
            If Dir("dll文件名") <> "" Then
                '带 /s 参数运行 regsvr32,不显示信息框
                '另文件名要用两个 chr(34) 即双引号括起,防止路径中有空格 
                Shell "Regsvr32 " & Chr(34) & "dll文件名" & Chr(34) & " /s", vbHide
                regTry = True
                Resume
            End If
        End If
        
        msgbox "类库不存在或无法正常创建对象"
    用以上代码就可以了。如果不想保留dll注册的信息,可在对象用完后再用 shell regsvr32 /u /s "dll文件名" 注销它。