Q&A

  • DLL로 export한 함수 호출시 리턴값으로 Record를 던져주려면..
아래와 같이 DLL 프로젝트에서 Unit를 하나 만들어서 record를 만들었고요
type TmyRecord = packed record
  myinfo : integer;
  myname : string[8];
  myAddress : string[20];
  comment    : string[20];
  end;

GetRec 라고 DLL에서 export된 함수를 하나 만들었습니다. (물론 DLL 프로젝트에 선언해주었숩니다)
이 함수를 외부에서 호출시 리턴값으로 위 레코드 값 모두를 날려줄려고 합니다.
Application에서 함수 호출시(VC++로 구현된 program) 위 레코드를 참조하여 값을 조회해보려고 하는것이죠.^^

function Getmyrec(???) : (리턴값 타입);
begin
   result := 레코드 정보;
end;

리턴값형으로 integer,string,char..이렇게 정의된 형은 쓰는데..레코드로 처리하고자 할때는 못본거 같네요.
리턴값으로 레코드의 모든 데이터값을 보내주려고 할때 리턴값 처리와 함수처리시 주의할 점음
무엇인지 궁금합니다. 고수님덜의 조언바랍니다.
1  COMMENTS
  • Profile
    이중철 2003.12.09 19:33
    type TmyRecord = packed record
      myinfo : integer;
      myname : string[8];
      myAddress : string[20];
      comment    : string[20];
      end;

    procedure Getmyrec(p : pointer );
    var pTmyRecord : ^TmyRecord;
    begin
      pTmyRecord := p;
      TmyRecord^.myinfo := 0;
      TmyRecord^.....
    end;


    VC에서는 당근 Object(상기 Structure로 생성된)의 Pointer를 날려주시면 끝...