아래 소스를 봐주세요
디버거로 추적해보면 [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.
|