Q&A

  • 타언어로 작성한 Dll 호출하기 질문이여
제가 Dll을 한번도 사용해보지 못해서 질문드립니다.

제가 관련업체에서 Dll파일을 하나 받았는데
그것을 콜하고, 반환값을 받는 형식이거든요.

그런데 제가 책보고 나름대로 해보았는데

"프로시저 시작 지점 SendFax을(를) DLL Send_Fax.dll에서
찾을 수 없습니다." 란 에러가 납니다.

좀 도와주세요!!!


- 업체에서 보낸 DLL 설명서
=====================================================

extern "C"
__declspec(dllexport) LONG __stdcall
           SendFax( LPSTR lpszUserID,
                    LPSTR lpszPassword,
                    LPSTR lpszFilePath1,
                    LPSTR lpszFilePath2,
                    BOOL bMode )

<Input>
   lpszUserID    : 사용자 ID
   lpszPassword  : 사용자 암호
   lpszFilePath1 : Fax 번호 또는 동보전송 목록 파일 Path
   lpszFilePath2 : 첨부 파일 Path
   bMode         : TRUE

<Output>
  0 : Error 발생 (GetErrorCode() 함수를 사용한다)
  1 : 성공

사용 예 )
SendFax('faxwide', 'faxwide', '8227294934', 'C:test.doc', True)

=====================================================

- 제가 작성한 코드


unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

  function SendFax(lpszUserID: String;
                   lpszPassword: String;
                   lpszFilePath1: String;
                   lpszFilePath2: String;
                   bMode: Boolean
                   ):Integer; stdcall; external 'Send_Fax.dll'

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
begin
   if SendFax('id', 'password', '8227294934', 'C:test.doc', True) = 1 then
      Showmessage('dll 테스트 성공');

end;

end.


1  COMMENTS
  • Profile
    임우식 2003.01.30 11:08
    전에 제가 해봤던 경험으로는...
    타언어로 작성된 Dll사용은.. 델파이에서 프로젝트-임포트타입라이브러리에 등록 시켜주고...레지스터에 등록시킨다음 콤포넌트처럼 사용했던적이 있습니다.

    SMS관련 Dll을 사용해봤거든요...