我想做成绿色的,所以不想注册jmail.dll从网上搜了半天都没有搜到...
比如
http://userinterface.cnblogs.com/archive/2005/10/25/124390.html
还有http://topic.csdn.net/t/20041116/10/3556667.html可是上面的那个声明完了,怎么使用啊??

解决方案 »

  1.   

    不注册使用JMail.dll,可以参看我的这个文章:绿软必备:ActiveXDLL免注册调用的方法(改良自阿国哥的源码)
    http://blog.csdn.net/Modest/archive/2007/09/01/1767950.aspx
      

  2.   


    你好...
    LoadObjectByName(App.Path & "\jmail.dll", "message", pDll)
    我这样执行的话还是返回Nothing...是执行到这里的时候发生的错误...
    IID = TLI.GetTypeInfo(Trim(IIDName)).Guid
    上面的那个CLSID还可以取的到....
      

  3.   

    把工程打包发给我看看
    taoxu.wei¥163.com
      

  4.   


    Public Function LoadObjectByName(ByVal DllPath As String, ByVal ClsName As String, pDll As Long) As Object
        Dim pObj As Long, TLIAPP As Object, TLI As Object
        Dim CLSID As String, IID As String, IIDName As String    On Error GoTo Err    Set TLIAPP = CreateObject("TLI.TLIApplication")
        Set TLI = TLIAPP.TypeLibInfoFromFile(DllPath)
            IIDName = "_" & Trim(ClsName)    CLSID = TLI.GetTypeInfo(Trim(ClsName)).Guid
        IID = TLI.GetTypeInfo(Trim(IIDName)).Guid    Set LoadObjectByName = LoadObjectByID(DllPath, CLSID, IID, pDll)
        Set TLI = Nothing
    Err:
    End Function
    把这个里面的:
    IIDName = "_" & Trim(ClsName)
    修改为:
    IIDName = "I" & Trim(ClsName)这个ActiveX不知道什么语言编写的,通常情况下vb的直接用“_”。
      

  5.   

    Dim pDll As Long '记录Dll,用来最后完美释放
    Dim Update As Update.Handle '要实例化的对象
    Set Update = LoadObjectByName(App.Path & "\Update.dll", "Handle", pDll) ' New Update.Handle
    If Update Is Nothing Then Exit Sub
    Update.Test '<--类中的方法
    Set Update = Nothing '<-----这句不能少,否则会出现意外错误
    UnLoadDll pDll '<----释放这段代码如何调用??请教!!Dim Update As Update.Handle '要实例化的对象----------------------------------提示--自定义类型没有定义help!!