我用VB做过DLL,不行,总提示缺少接口。
改用VC吧。

解决方案 »

  1.   

    现在我终于搞清楚了:
    用VB6产生一个ACTIVE x dll(temp.dll)时,一定要注意一下几点dll的产生:
    1.不修改"引用"
    2.在"tempofchangename"工程属性menu中:
        a.启动对象一般设置为none ,除非你要初始化一个DLL,否则不要改为sub Main(),当你改为sub Main()
          后,要记得在类的说明中添加这个过程:sub Main()...end sub
        b.工程名称一定要修改为tempofchangename
        c.工程描叙也要修改为一个新名称,如tempofchangename
        d.其余地方不修改用VB6调用一个DLL时:
    1.在"工程"menu中,选"引用",添加这个DLL文件:temp.dll(在可用的引用名选择,或者"浏览"去选择这个DLL)
    2.不修改"工程1"属性
    3.用Declare 是不行的!用Imports也不行!
    4.用vs.net作的dll 是不能被vb6的exe 文件调用的!
      

  2.   

    vb是写不出传统的dll的,只能写ActiveX dll
      

  3.   

    vb开发的是ActiveX dll,实际上就是Class的一中组装。不是真正的dll,建议还是用VC开发。
      

  4.   

    '
    ' バージョンアップ時は、下記のフォーマットで修正履歴をここに記述する。
    ' (最新の履歴を先頭行にすること!)
    ' @(h) fkrAtenalstr_n.cls                ver 1.0 ( '2002.6.27 張威 )
    '
    '
    ' 修正履歴
    ' 2002.6.27 張威 新規リリース
    '
    ' @(s)
    ' 乳幼児宛名シール発送一覧クラスモジュール (サーバ側)
    ' 本モジュールは乳幼児宛名シール発送一覧で使用するものである。
    Option ExplicitDim adoRs1              As ADODB.Recordset              '申請書基本情報レコードセットPrivate Const CLASSNAME As String = "fkrAtenalst_n_SV.fkrAtenalstr_n."
    ' @(f)
    '機能 : 乳幼児宛名シール発送一覧作成メイン処理
    '
    '引数 : objXml          (I/O)   帳票共通XMLオブジェクト
    '   : strError        (O)     ErrMsg
    '戻値 : Boolean                 True : 正常
    '                             False: 異常
    '
    Public Function S_FKRcreateList(ByVal objXML As Object, _
                                    ByRef strError As String) As Boolean
        
        Dim rptReport           As fkrAtenalst_n_SV.fkrAtenalst_n           '実レポート
        Dim rptReport1          As fkrAtenalst_n_SV.fkrAtenalst_n           'WKレポート
        Dim objCmAreports       As Object                       '「cmAreports_SV」オブジェクト
        Dim curMaxPG            As Currency                     '算出後総ページ
        Dim intRet              As Integer                      '戻り値
        Dim strCtCD             As String                       '管理市町村CD
        Dim strTanmatu          As String                       '端末名
        Dim strRdfpath          As String                       'RDFファイルパス
        Dim lngFrompage         As Long                         '開始ページ
        Dim lngTopage           As Long                         '終了ページ
        Dim lngMaisu            As Long                         '枚数
        Dim strRdfbackup        As String                       'RDFファイルバックアップ判定
        Dim strRdfrenamefile    As String                       'バックアップ時RDFファイル名
        Dim strDevicename       As String                       'プリンタドライバ名
        Dim strPort             As String                       'ポート名
        Dim intPaperbin         As Integer                      '給紙トレイ
        Dim intPapersize        As Integer                      '用紙サイズ
        Dim intOrientation      As Integer                      '用紙方向
        Dim strPaperwidth       As String                       '用紙幅
        Dim strPaperheight      As String                       '用紙方向
        Dim strTopmargin        As String                       '上余白
        Dim strBottommargin     As String                       '下余白
        Dim strLeftmargin       As String                       '左余白
        Dim strRightmargin      As String                       '右余白
        Dim strOriginal(0)      As String                       '帳票独自設定
        Dim strRdfname          As String                       'RDFファイル名
        Dim objGyomNode         As Object                       '業務ノードオブジェクト
        Dim strRptError         As String                       'レポート内部エラー
        Dim objcmXML            As Object                       'オブジェクト(cmXML_SV)
        Dim strParam            As String                       'エラーログ出力で使用
        Dim objKeyXML           As Object                       'キー情報XML
        Dim objNode             As Object                       'XMLノード
        Dim lngMaxPage          As Long                         '最大ページ
        
        Const METHODNAME        As String = "S_FKRcreateList"
        Const GYOM              As String = "FK"
        Const HYO_NAME          As String = "乳幼児宛名シール"
        Const RDF_NAME          As String = "fkrAtenalst_n.RDF"
        
        On Error GoTo E_S_FKRcreateList
            
        ''戻り値にFalseをセット
        S_FKRcreateList = False
            
        ''インスタンス作成
        Set rptReport = New fkrAtenalst_n
        Set rptReport1 = New fkrAtenalst_n
        Set objCmAreports = CreateObject("cmAreports_SV.cmAreports")
        Set objcmXML = CreateObject("cmXML_SV.cmXML")
        Set objKeyXML = objcmXML.createXML()
        
    '---------------------------------------------------------------------
    ' ■<Gyom>ノードを取得
    '---------------------------------------------------------------------
        ''業務&#65417;&#65392;&#65412;&#65438;の取得
        intRet = objCmAreports.GetGyomNode(objXML, objGyomNode, strError)
        
        ''戻り値<>0の場合、処理終了
        If intRet <> 0 Then
            GoTo EXCEPTION
        End If'---------------------------------------------------------------------
    ' ■KeyXMLを取得
    '---------------------------------------------------------------------
        Call CreateKeyXML(objGyomNode, objKeyXML, strError)
        ''strError<>0の場合、処理終了
        If strError <> "0" Then
            GoTo EXCEPTION
        End If'---------------------------------------------------------------------
    ' ■帳票出力用レコードセットを取得
    '---------------------------------------------------------------------
        ''DataGetをCall
        Call DataGet(objKeyXML, adoRs1, lngMaxPage, strError)
            
        ''strError<>0の場合、処理終了
        If strError <> "0" Then
            GoTo EXCEPTION
        End If
        
    '---------------------------------------------------------------------
    ' ■最大ページの取得
    '---------------------------------------------------------------------
        curMaxPG = CCur(lngMaxPage)'---------------------------------------------------------------------
    ' ■XMLより値を取得
    '---------------------------------------------------------------------