Q&A

  • vc++로 만든 dll을 델파이에서 불렀는데 에러가 나네요...
interface



function NCRegFp(lpSaBun : integer): integer ; cdecl;



implementation



{$R *.DFM}



function NCRegFp(lpSaBun : integer) : integer ; cdecl ;

external 'RegisterFp.dll' name 'NCRegFp';



procedure TForm1.Button1Click(Sender: TObject);

var

temp, strchar : integer;

begin

strchar := strtoint(eNumber.text);

temp := NCRegFp(strchar);

end;



이렇게 했는데요...



Project xxx.exe raised exception class EDBEngineError with message

'An error occurred while attempting to initialize the Borland Database Engine(error $2501)'. Process stopped. Use Step or Run to continue.



이런 에러가 났어요...

왜그런건가요???



1  COMMENTS
  • Profile
    왕초보 2001.11.29 20:54
    메모리 부족으로 해석되는데요

    실제로 BDE Administrator에서 Configuration-> System-> INIT부분에 보면

    SharedMemLocation 항목과 SharedMemSize가 있습니다.

    이 값을 적절히 바꿔 주면 위의 문제는 일단 해결되지만

    아직 완전한 해결책은 아닌걸로 생각 됩니다.





    왕초보 wrote:

    > interface

    >

    > function NCRegFp(lpSaBun : integer): integer ; cdecl;

    >

    > implementation

    >

    > {$R *.DFM}

    >

    > function NCRegFp(lpSaBun : integer) : integer ; cdecl ;

    > external 'RegisterFp.dll' name 'NCRegFp';

    >

    > procedure TForm1.Button1Click(Sender: TObject);

    > var

    > temp, strchar : integer;

    > begin

    > strchar := strtoint(eNumber.text);

    > temp := NCRegFp(strchar);

    > end;

    >

    > 이렇게 했는데요...

    >

    > Project xxx.exe raised exception class EDBEngineError with message

    > 'An error occurred while attempting to initialize the Borland Database Engine(error $2501)'. Process stopped. Use Step or Run to continue.

    >

    > 이런 에러가 났어요...

    > 왜그런건가요???

    >