【发布时间】:2019-08-28 01:47:07
【问题描述】:
我想通过指针变量知道已处置的记录。
例如,我有如下记录和全局变量(T,P)。
TTest = record
iA: Integer;
sA: string;
end;
pTest = ^TTest;
T: pTest;
P: Pointer;
然后调用下面的过程。
...
procedure TestCreate;
begin
New(T);
T^.iA := 100;
T^.sA := 'ABCD';
// 1.
P := T;
// 2.
Dispose(T);
// 3.
WriteLn( IntToStr(pTest(P)^.iA) );
// -> Show the 100
end;
有没有办法通过指针'P'知道记录'T'是否已被释放?
【问题讨论】:
-
不,不可能。
-
是的,有一种方法:
Dispose(T); P := nil;。除此之外,没有。 -
...好的..谢谢你们!
-
@j... 我看到了那个帖子。但是,我无法获得帮助。