vc++ dll의 헤더파일에서 함수의 정의부를 찾아 올려주셔야 델파이에서 호출하는 방식을 결정할수 있습니다.
대체로 c의 dll은 string이 아니라 char*을 리용하므로 델파이에서 pchar로 바꿔줍니다.
stdcall 대신 cdecl 을 써야 하는 경우도 많구요.
즐프하세요.
이문림 님이 쓰신 글 :
: 제목과 같이 delphi(5.0)에서 VC++ 로 만들어지는 DLL 을 콜하는 방법을 여쭈어 봅니다.
:
: 검색을 해봤는데.. MFC 형식으로 된것은 DLL 콜이 안된다고 (또는 string 형식을 바꾸어줘야된다고) 되어 있던대..
:
: 어떻게 방법이 없을지? ^^; 여쭤봅니다.
:
: DLL 에서 불러올 function 은 2가지 인데..
:
:
: implementation
:
: function pwd1(Pwd1:string):string;export;stdcall;
: external 'C:\Documents and Settings\admin\바탕 화면\dll1.dll';
: function pwd2(UserNo,date,Pwd :string):string;export;stdcall
: external 'C:\Documents and Settings\admin\바탕 화면\dll1.dll';
: {$R *.dfm}
:
: procedure TForm1.Button1Click(Sender: TObject);
: begin
: Edit2.Text := pwd1(trim(edit1.text));
: end;
: procedure TForm1.Button2Click(Sender: TObject);
: begin
: Edit6.Text := pwd2(trim(edit3.text),trim(edit4.text),trim(edit5.text));(trim(edit1.text));
: end;
:
:
: 이런식으로 call 하는게 맞는건지 -_-;;
:
: 또 vc 의 dll 콜하는 방법이라도 부탁 드립니다.
:
: 수고하세요.
|