關於Delphi的基礎問題,請高手指點 ( 积分: 100 )

  • 主题发起人 主题发起人 sdtrm
  • 开始时间 开始时间
S

sdtrm

Unregistered / Unconfirmed
GUEST, unregistred user!
代碼如下:
type
PObject = ^TObject;
PRaiseFrame = ^TRaiseFrame;
TRaiseFrame = record
NextFrame: PRaiseFrame

ExceptAddr: Pointer;
ExceptObject: TObject;
ExceptionRecord: PExceptionRecord;
end;
以上這段關於異常的代碼不明白是什麼意思,哪位高手能幫忙給總體解說及分拆每行代碼
解釋一下。謝謝。。。
 
type --定义类型
PObject = ^TObject
--定义指向TObject类的指针
PRaiseFrame = ^TRaiseFrame
--定义指向TRaiseFrame记录类型数据的指 针
TRaiseFrame = record --TRaiseFrame记录类型的定义
NextFrame: PRaiseFrame
--下一TRaiseFrame记录类型的指针(地址)
ExceptAddr: Pointer
--指向异常的地址
ExceptObject: TObject
--发生异常时的类
ExceptionRecord: PExceptionRecord
--异常记录的指针
end
--定义结束
 
謝謝樓上的兄弟
NextFrame: PRaiseFrame

這個既然是定義在TRaiseFrame裡面的,為什麼還能為TRaiseFrame记录类型的指针?
兄弟我基礎薄弱。
 
这样应该是个二链表那样的吧
比如
a->b->c
a,b,c 都是TRaiseFrame类型的
a中有个变量比如是Next是个指针,指向TRaiseFrame的指针
所以a.next:=b 都是属于TRaiseFrame类型

楼主可以去看看数据结构的书
 
如果是這樣,也可以這樣
Type
TClassA = class
Private
ClassA: TClassA;
end;
這樣定義也是對的。
我的意思就是為什麼在其成員函數中,可以定義一對象為本類本身。
 
不是本类本身 类定义和类的实例是不同的概念
就象大圆里面画小圆一样 其实是一个类的两个不同实例了
 
那小圓這個對象的定義也是由其所在的類所定義出來的,但又怎麼來解釋小圓的這個對象的類呢?看來這是關於OO方面的了。
 
但小圓這個對象也是由圓這個類定義出來的,可以這樣理解
圓{
小圓:圓;
}
那這個類圓又是怎麼來的呢,不還是這個類的本身嘛。
 
定义这个结构的主要目的,确实是为链表而设计
 
后退
顶部