Z zhbruce Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-10 #1 书上说,当读取属性时会调用read,当设置属性时会调用write,但是怎样才是读取属性和设置属性呢..?
鲁 鲁小班 Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-11 #2 read和write是关键字,你说的读取或者设置, 这部分的工作是编译器完成的,当你编译的时候, Delphi就已经知道了read哪个变量(或者调用哪个GetXXX函数), write哪个变量(或者调用哪个SetXXX方法)。
read和write是关键字,你说的读取或者设置, 这部分的工作是编译器完成的,当你编译的时候, Delphi就已经知道了read哪个变量(或者调用哪个GetXXX函数), write哪个变量(或者调用哪个SetXXX方法)。
P Pipi. Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-11 #3 比如 property myprop Raed GetMyprop write SetMyprop; //SetMyprop和GetMyprop是函数、过程 当你 aaa:=obj.myprop 的时候,编译器翻译成 aaa:=obj.GetMyprop(); 当你 obj.myprop:=aaa 的时候,编译器翻译成 obj.SetMyprop(aaa); 比如 property myprop Raed FMyprop write FMyprop; // FMyprop是个类的数据据成员 当你 aaa:=obj.myprop 的时候,编译器翻译成 aaa:=obj.FMyprop; 当你 obj.myprop:=aaa 的时候,编译器翻译成 obj.FMyprop:=aaa;
比如 property myprop Raed GetMyprop write SetMyprop; //SetMyprop和GetMyprop是函数、过程 当你 aaa:=obj.myprop 的时候,编译器翻译成 aaa:=obj.GetMyprop(); 当你 obj.myprop:=aaa 的时候,编译器翻译成 obj.SetMyprop(aaa); 比如 property myprop Raed FMyprop write FMyprop; // FMyprop是个类的数据据成员 当你 aaa:=obj.myprop 的时候,编译器翻译成 aaa:=obj.FMyprop; 当你 obj.myprop:=aaa 的时候,编译器翻译成 obj.FMyprop:=aaa;
G gxcooo Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #6 property a:integer read get... write set...; int X:=a; //当read时调用Read a:=123; //当write时调用write
J jsxjd Unregistered / Unconfirmed GUEST, unregistred user! 2002-08-12 #7 对属性赋值时调用 write , 通常出现在赋值语句的左边。 取属性值时调用 Read,通常在赋值语句的右边。