Q&A

  • VB에서 만든 DLL을 델파이에서 사용하는법?
Dim xx As New com2000.funcClass
Private Sub Init_Click()
   Dim buff As String
   buff = xx.CmdInitialize(Asc("0"))
   Text1.Text = buff
End Sub

VB에서 위의 처럼 xx.CmdInitialize 이런식으로 사용하는 DLL을
델파이에서 읽는 법 좀 가르쳐주세요

아무리 export하고 GetProc 방식을 서도 CmdInitialize 라는 function을 못 찾더라구요
VB에서 xx.CmdInitialize 이렇게 사용하는 것을 델파이에서는 어떻게
쓰나요?
1  COMMENTS
  • Profile
    최용일 2002.01.09 10:34
    안녕하세요. 최용일입니다.

    '.'이 들어가는 것을 보니까 그냥 dll이 아닌것 같은데요. 일반 함수에는 '.'는 절대 안 들어가거든요... 그러니까 아마도 GetProc같은 함수는 사용하실수 없을겁니다...

    VB이니까 추측컨데 ActiveX/COM/OCX일거 같군요...

    위의 것이 아니라면 델파이에서 VB객체를 불러오는 것은 불가능하구요...

    맞다면 두가지 방법으로 사용이 가능할거 같네요...

    첫번째는 OleVariant나 Variant로 COM객체를 로딩해서 사용하는 방법입니다.

    MS의 워드/엑셀/파워포인트를 바로 불러쓸때 많이 쓰이는 방법입니다.

    Example:

    var
        msppt : olevariant;
    begin
        msppt := CreateOleObject('word.Application') ;
        msppt.visible := true ;
        msppt.Documents.Open(opendialog3.filename) ;
        msppt.ActiveDocument.SaveAs('c:full.htm',ppSaveAsHTML,False);
        msppt.Quit;
    end;

    두번째는 ActiveX를 임포트해서 사용하는 방법인데...

    델파이 메뉴의 Component/Import ActiveX Control...이라는 메뉴를

    클릭해서 맨 위에 있는 리스트박스에서 그 dll을 찾아서 아래 Install...이라는

    버튼을 눌러서 패키지에 추가시키고 그 패키지를 컴파일 시키면 컴포넌트 팔레

    트에 그 컴포넌트가 새로 추가되는데 그것을 이용하는 방법입니다. 이것은 디

    자인 타임에도 이용할 수가 있어서 조금 편한 방법이죠...

    ^^ 항상 즐코하세요...