Q&A

  • c dll을 참조하는데..형변환 이 잘못된것 같아요 ㅠㅠ
원본 c의 DLL 은 일케 되 있구요
--> long aaa(long number1, char * destination, long *length)
저는 이걸 가져다가

델파이에서 선언을
-->Function aaa(number1 : integer ; var destination:OleVariant ; length : integer)  : integer;stdcall; external '.\aaa_well.dll';

일케 했어요

var
  ret : longint;
  len : integer;
  rbuff : OleVariant;
begin
  len  := 0;

  rbuff := VarArrayCreate([0, 2047], varByte);

  ret := aaa(number1, rbuff, len);


이렇게 하는데... aaa호출만 하면 엑세스 바이오레이션 에러가 나네요..
도와 주세요

두번째 인자가 잘못된거 같아요~~~~ 부탁해요 ㅠㅠ
함수가 여러개 있는데요 (DLL안에) 이것만 다른 형이라 안되네요.....
1  COMMENTS
  • Profile
    김재철 2006.07.10 21:13
    char *를 왜 OleVariant로 바꾸셧는지 이해가 안가네요;

    char *는 PChar 로 바꾸시면 되구.. long은 LongInt로 바꿔주시면 될것같은데요