Q&A

  • 소스 좀 봐 주세요(C++ DLL function 부르기)
interface



function hash(instr : pchar) : pchar ; stdcall;

//extern "C" __declspec(dllexport) char* hash(char* instr);



implementation



function hash(instr : pchar) : pchar ; stdcall ; external 'hash.dll' name 'hash';



{$R *.DFM}



procedure TForm1.Button4Click(Sender: TObject);

var

temp, strchar : pchar;

str : string;

begin

strchar := pchar(edit1.text);

temp := hash(strchar);

end;



뭐가 잘못 된 건지

에러가 나는데

그럼 이만

2  COMMENTS
  • Profile
    Time 2001.11.14 19:46
    stdcall 대신 cdecl 를 사용해 보세요.



    function hash(instr : pchar) : pchar ; stdcall;



    -> function hash(instr : pchar) : pchar ; cdecl;



    초보 wrote:

    > interface

    >

    > function hash(instr : pchar) : pchar ; stdcall;

    > //extern "C" __declspec(dllexport) char* hash(char* instr);

    >

    > implementation

    >

    > function hash(instr : pchar) : pchar ; stdcall ; external 'hash.dll' name 'hash';

    >

    > {$R *.DFM}

    >

    > procedure TForm1.Button4Click(Sender: TObject);

    > var

    > temp, strchar : pchar;

    > str : string;

    > begin

    > strchar := pchar(edit1.text);

    > temp := hash(strchar);

    > end;

    >

    > 뭐가 잘못 된 건지

    > 에러가 나는데

    > 그럼 이만

  • Profile
    초보 2001.11.14 20:50
    Time wrote:

    > stdcall 대신 cdecl 를 사용해 보세요.

    >

    > function hash(instr : pchar) : pchar ; stdcall;

    >

    > -> function hash(instr : pchar) : pchar ; cdecl;

    >

    > 초보 wrote:

    > > interface

    > >

    > > function hash(instr : pchar) : pchar ; stdcall;

    > > //extern "C" __declspec(dllexport) char* hash(char* instr);

    > >

    > > implementation

    > >

    > > function hash(instr : pchar) : pchar ; stdcall ; external 'hash.dll' name 'hash';

    > >

    > > {$R *.DFM}

    > >

    > > procedure TForm1.Button4Click(Sender: TObject);

    > > var

    > > temp, strchar : pchar;

    > > str : string;

    > > begin

    > > strchar := pchar(edit1.text);

    > > temp := hash(strchar);

    > > end;

    > >

    > > 뭐가 잘못 된 건지

    > > 에러가 나는데

    > > 그럼 이만