C DLL은 처리한 결과를 Result로 반환하는데, 델파이 코드에선 결과를 받아서
처리하는 부분이 없군요.
휴즈벌 님이 쓰신 글 :
: C로 짠 DLL에 다음 코드가 있구요
:
: extern "C" __declspec(dllexport)
: struct aa{
: int a;
: int b;
: int c;
: };
:
: extern "C" __declspec(dllexport)
: aa aafunc(aa ab)
: {
: ab.c = ab.a + ab.b;
: return ab;
: }
:
:
:
:
:
: 다음은 델파이로 짠코드입니다
:
: type
: aa=record
: a:integer;
: b:integer;
: c:integer;
: end;
: ...
: function aafunc(ab:aa):aa;stdcall;external'dll1';
:
: ...
: procedure TForm1.Button7Click(Sender: TObject);
: var
: ab:aa;
: begin
: ab.c:=0;
: ab.a:=strtoint(edit1.Text);
: ab.b:=strtoint(edit2.Text);
:
: aafunc(ab);
: edit3.text:=inttostr(ab.c);
:
: end;
:
:
:
:
: 두개의 에디트창에 입력된수를 구조체에 저장하고 DDL함수를 불러
: 구조체 멤버끼리 덧셈을 해서 그 결과를 ab.c에 저장하고 ab구조체를 반환하여
: 델파이에서 결과를 에디트창에 출력하는건데요
:
: 함수는 호출이 되긴하는데 함수에서 계산이 되는건지 모르겠네여
: 계속 결과가 안뜨네요 구조체를 DLL함수에 매개변수로 보낼수 없나요?
: 아니면 계산은 되는데 구조체를 반환 할 수가 없는 것인가요?
:
: integer 데이터를 두개를 매개변수로 보내면 계산은 잘되는데
: 구조체는 계속 안되네여 ㅠㅠㅠㅠㅠㅠ
:
: 구조체 포인터로도 바꺼보고 삽질 몇시간째 하고있습니다ㅠㅠ
: 고수분들 도와주세요 ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ
|