如何在Turbo Pascal中读取指针变量值?

时间:2014-07-29 17:07:39

标签: turbo-pascal

我在面向对象的Turbo Pascal(示例)中有以下代码。还有一些问题,对你们来说,他们有Turbo Pascal的知识 - 因为我找不到任何答案。

type PMyNumber =^TMyNumber;
     TMyNumber = object(TObject)
                 Number1:real;
                 Number2:real;
                 constructor Init(x,y:real);
                end;

问题#1

我看到像new(PMyNumber,Init(-4,0))这样的代码 - 它是某种类型的对象构造函数吗?


问题#2

someVariable := PMyNumber(MyColl[myIndex]^.At(j))^.Number1

我尝试查看MyColl[myIndex]^.At(j)的值。为此,我打开Evaluate/modyfy窗口,但点击Evaluate按钮后,我收到以下错误 - 出了什么问题?

enter image description here

此外(我不认为这里需要)字符:

enter image description here


问题#3

如何读取指针变量值?

enter image description here

1 个答案:

答案 0 :(得分:0)

  1. 是的,Init()是构造函数的名称。

  2. 您无法评估函数调用(At()是从TObject继承的TMyNumber的成员函数。)

  3. 如果意味着如何解释Pascal指针表示法:一个领先的' $'表示十六进制值。第一个值($ 888F)是段,第二个值($ 8)是段内的偏移量。 (假设您理解16环境中的概念段。)如果您的意思是如何在运行时读取指针的值:使用seg()获取段,ofs()获取偏移量,如seg(MyColl[myindex])ofs(MyColl[myindex])