전 아쉽게도 델파이를 전혀 모르는 사람입니다..
제가 이번에 vb로 dll을 만들었습니다..
근데 그놈을 델파이에서 사용할려고 합니다..
그런데 실행할때
"손실된 익스포트 ***.dll 이 연결되었습니다. PortSpeed"
"시스템에 부착된 장치가 작동하지 않습니다."
이런 애러가 뜹니다..
어케해야되는지 도무지 감이오질 않습니다..
물론 델파이에서의 dll 연결은 제가 한것이 아닙니다..
전 전혀 델파이를 사용할 줄 모르거든요..ㅡㅡ;
vb에서 잘못만든건지..
--------------------------------------------------------------------------------
델파이 소스는 아래와 같습니다..
--------------------------------------------------------------------------------
unit UDll;
interface
uses
Windows, Messages, SysUtils, 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;
procedure OpenPort ;Stdcall;
procedure PortNumber(iT:Int64) ;Stdcall;
procedure PortSpeed(iT:Int64) ;Stdcall;
implementation
{$R *.DFM}
procedure OpenPort ; External 'Pro_LineDisplay.dll' Name 'OpenPort';
procedure PortNumber ; External 'Pro_LineDisplay.dll' Name 'PortNumber';
procedure PortSpeed ; External 'Pro_LineDisplay.dll' Name 'PortSpeed';
procedure TForm1.Button1Click(Sender: TObject);
begin
PortNumber(1);
PortSpeed(9600);
OpenPort;
end;
end.
--------------------------------------------------------------------------------
고수님들의 명쾌한 답변 기다리겠습니다..
오늘도 조은 하루 되세요~~
이 에러의 99%는 이름매칭이 잘못되서 그런겁니다.
Name뒤에 써주는 DLL의 함수이름을 대소문자구분해서 DLL에 있는 그대로 정확히 써주어 보세요...
^^ 항상 즐코하세요...
박한호 wrote:
> 전 아쉽게도 델파이를 전혀 모르는 사람입니다..
>
> 제가 이번에 vb로 dll을 만들었습니다..
>
> 근데 그놈을 델파이에서 사용할려고 합니다..
>
> 그런데 실행할때
>
> "손실된 익스포트 ***.dll 이 연결되었습니다. PortSpeed"
> "시스템에 부착된 장치가 작동하지 않습니다."
>
> 이런 애러가 뜹니다..
>
> 어케해야되는지 도무지 감이오질 않습니다..
>
> 물론 델파이에서의 dll 연결은 제가 한것이 아닙니다..
>
> 전 전혀 델파이를 사용할 줄 모르거든요..ㅡㅡ;
>
> vb에서 잘못만든건지..
>
> --------------------------------------------------------------------------------
> 델파이 소스는 아래와 같습니다..
> --------------------------------------------------------------------------------
> unit UDll;
>
> interface
>
> uses
> Windows, Messages, SysUtils, 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;
>
> procedure OpenPort ;Stdcall;
> procedure PortNumber(iT:Int64) ;Stdcall;
> procedure PortSpeed(iT:Int64) ;Stdcall;
>
> implementation
>
> {$R *.DFM}
>
> procedure OpenPort ; External 'Pro_LineDisplay.dll' Name 'OpenPort';
> procedure PortNumber ; External 'Pro_LineDisplay.dll' Name 'PortNumber';
> procedure PortSpeed ; External 'Pro_LineDisplay.dll' Name 'PortSpeed';
>
> procedure TForm1.Button1Click(Sender: TObject);
> begin
> PortNumber(1);
> PortSpeed(9600);
> OpenPort;
> end;
>
> end.
> --------------------------------------------------------------------------------
>
> 고수님들의 명쾌한 답변 기다리겠습니다..
>
> 오늘도 조은 하루 되세요~~