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
[7857] Re:이 소스 좀 봐주세요...
류종택 [ryujt] 757 읽음    2002-01-08 18:25
의견란에 있는 것 처럼
우선 Class는 Create를 해주셔야 합니다.

Class에 대한 포인터 사용 자체에는 문제가 없습니다.

또한 원래 파스칼 문법에는 Inc(포인터)가 되지 않습니다.
델파이로 접어들면서 해보지 않아서 되는 지 모르겠네요.

High는 포인터에서 당연히 사용할 수가 없습니다.
포인터를 이용해서 갯수 및 인댁스 효과를 줄려면,
간단하게는 TList를 사용하시는 것을 권장합니다.
아니면, 포인터를 배열로 선언해서 사용하시고
각각의 인댁스 마다 원하시는 Class를 참조하게 하시면 됩니다.

사족으로 Class는 Object의 포인터처럼 활동 합니다.
(정확히 그렇다는 것은 아니고)
포인터처럼 Class도 Create로 메모리 할당을 해주지 않으면 안됩니다.

굳이 아래와 같이 코딩하시려면 Class대신 Object를 사용하세요.
Object는 구조체처럼 활동합니다.
(Create 안해도 된다는 뜻을 포함)

C++로해도 마찬가지로 class는 Create해주셔야겠지요.

최종적으로는 TList 사용을 고려해보세요.


Voice of Delphi, 류..

손동섭 님이 쓰신 글 :
: 아래 소스를 봐주세요
: 디버거로 추적해보면 [1]번이 실행되면 바로 [2]번으로 가서 실행되고 종료됩니다.
: 저는 객체의 포인터를 사용하고 싶어서 아래와 같은 샘플로 테스트 한것인데요...
:
: 객체를 10개 만들고 각각의 멤버에 값을 넣은후에
: 포인터를 원래위치로 복귀시킨다음 처음부터 넣은 값들은 확인하려고 합니다.
: 저는 C++에서 코딩하던 습관이 있어서 그냥 추측해서 해본건데...
:
: 사실 제가 원하는 동적 포인터에 관한 자료는 없더라구요 그래서 그냥 테스트 한것인데...
: Array처럼 High(Array Type) 포인터에서는 할수 있는 것은 없나요???
:
:
: program Project2;
:
: {$APPTYPE CONSOLE}
:
: uses
:   SysUtils;
:
: type
:   myClass = class
:   public
:     myInt : integer;
:     myStr : string;
:   end;
:
: var
:   cPtr : ^myClass;
:   Pos : Pointer;
:   Cnt : integer;
: begin
:   new(cPtr);
:   Pos := cPtr;
:
:   for cnt := 0 to 10 do
:   begin
:     cPtr^.myInt := cnt;   <------------------------------- [1]
:     cPtr^.myStr := IntToStr(cnt) + ' Str';
:     Inc(cPtr);
:     new(cPtr);
:   end;
:
:   Writeln('----------------');
:   cPtr := Pos;
:   for cnt := 0 to 10 do
:   begin
:     Write(cPtr^.myInt);
:     Write(' : ');
:     Writeln(cPtr^.myStr);
:     Inc(cPtr);
:   end;
:
:
:   Readln;
:   dispose(cPtr);   <--------------------------------------- [2]
: end.

+ -

관련 글 리스트
7855 이 소스 좀 봐주세요... 손동섭 551 2002/01/08
9220     Re:이 소스 좀 봐주세요... 최진석 564 2002/01/08
7857     Re:이 소스 좀 봐주세요... 류종택 757 2002/01/08
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.