Q&A

  • [질문] c 헤더를 delphi로 바꾸려고 합니다. 도와주세요.
c 코드로 되어 있는 dll을 Delphi에서 사용하려고 합니다.

아래에 c 코드의 헤더 부분을 Delphi로 변경할 경우 어떻게 하는 것이 좋을까요?

제가 바꾸어 사용한 코드에서는 사용 후 오류가 발생합니다. (아무래도 메모리의 다른 부분을 건드린듯...)

고수님들의 조언 부탁드립니다.

< c code >
DLL_EXPORT int encode_buffer(
      handle hEnc,
      const short int data1[],  <- 의심가는 부분
      const short int data2[],  <- 의심가는 부분
      int num,
      unsigned char *buffer,   <- 의심가는 부분
      int buffer_size );

< delhpi code : 현재 사용 후 오류 발생>
function encode_buffer(
      hEnc: handle;
      const data1: PSmallInt;
      const data2: PSmallInt;
      num: integer;
      buffer: PByte;
      buffer_size: integer): integer; stdcall; external 'encbuf.dll';

2  COMMENTS
  • Profile
    최용일 2008.08.05 23:05
    크게 문제되는 부분은 없는것 같은데요... calling convention이 stdcall인가 cdecl인가는 확인해보시구요...
    메모리 관리 문제에서 data1, data2, buffer의 메모리를 할당하고 해제하는것을 누가 하는지도 명확히 알아보셔야 될것 같습니다.
  • Profile
    권영율 2008.08.06 19:12
    감사합니다.

    다른 부분의 코드를 더 살펴보겠습니다.