Delphi Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
델파이 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
FreePascal/Lazarus
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
델마당
볼랜드포럼 광고 모집

델파이 Q&A
Delphi Programming Q&A
[10330] Re:링크드리스트 문제...
civilian,안영제 [civilian] 1391 읽음    2005-11-02 22:10
만드신 DLL을 올려주시면 좋을 것 같군요.
무슨 이유가 있겠습니다만, 왜 C++로 구현하고 델파이에서 불러쓰시는지요 ?
델파이에서 구현하고 처리하면 더 효과적일 텐데...

Genie 님이 쓰신 글 :
: 델파이에서 dll 로 링크드리스트를 써서 값을 가져올려고 하는데 잘않되네요.
: c++에서 값은 잘들어가는데 delphi 에서 가져올때 문제가 있는것 같습니다.
:
: 무엇이 문제일까요?
:
: //////////////////////////////////////////////////////
: // delphi source
: type
:    PTEST = ^TEST
:    TEST = packed record
:    Index : Ingeger;
:    NEXT : PTEST;       
: end;

: TFunc = function(Output:PTEST):Integer; stdcall;
:
: var
: H : Handle;
: TEST_F:TFunc;
: Output : PTEST;
:
: begin
:
: H := LoadLibrary('TEST.DLL');
: @TEST_F := GetProcAddress(H, 'TEST_OUT');
: New(Output);
: Result:=TEST_F(Output);
:
: while(Output <> nil) do
: begin
:  { 막상돌리면 여기에 값이 없음...}
:  nIndex := Output^.Index;
:  Output := Output^.NEXT;
: end;
:
: end;
:
: //////////////////////////////////////////////////////
: // c++ source
: typedef struct TEST
: {
:  int Index;
:  TEST* NEXT;   
: }
:
: TEST* head, *New,*current = NULL;
:
: int WINAPI EXPORT TEST_OUT(TEST* pTest)
: {
:  pTest = NULL;
:  head  = NULL;
:  New   = NULL;
:  current = NULL;   
:
:  New = (PTEST*)malloc(sizeof(PTEST));   
:  New->pNext = head;
:  head = New;
:  New->Index = 1;
:
:  New = (PTEST*)malloc(sizeof(PTEST));   
:  New->pNext = head;
:  head = New;
:  New->Index = 2;
:
:  New = (PTEST*)malloc(sizeof(PTEST));   
:  New->pNext = head;
:  head = New;
:  New->Index = 3;

:  pTest = head;

:  return 0;
: }

+ -

관련 글 리스트
10329 링크드리스트 문제... Genie 1238 2005/11/02
10331     Re:링크드리스트 문제... 박무개 1172 2005/11/03
10330     Re:링크드리스트 문제... civilian,안영제 1391 2005/11/02
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.