Q&A

  • vb에서 만든 dll 을 델파이에서 연결...
전 아쉽게도 델파이를 전혀 모르는 사람입니다..



제가 이번에 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.

--------------------------------------------------------------------------------



고수님들의 명쾌한 답변 기다리겠습니다..



오늘도 조은 하루 되세요~~

1  COMMENTS
  • Profile
    최용일 2001.05.02 22:35
    안녕하세요. 최용일입니다.



    이 에러의 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.

    > --------------------------------------------------------------------------------

    >

    > 고수님들의 명쾌한 답변 기다리겠습니다..

    >

    > 오늘도 조은 하루 되세요~~