L
lovellybaby
Unregistered / Unconfirmed
GUEST, unregistred user!
//定义一个记录
type test=record
s,k:string;
end;
//赋值
var ttest:test;
ttest.s:='demo';//没问题
ttest.k:='demo';//没问题
-----------------------------------------------
//把该记录定义为类的成员
type tdemo=class
ftest:test;
constructor create;
...
...
property testrecord:test read ftest write ftest;
...
end;
//在程序中使用demo属性
var demo:tdemo;
demo:=tdemo.create;
{
demo.testrecord.s:='demo';//出错,显示不能赋植。
demo.testrecord.k:='demo';//同上。
}
with demo.testrecord do
begin
s:='demo';//没问题。
k:='demo';//每问题。
end;
请问用了With do语句就没有了问题,With除了开域难道Delphi编译器还插入了其他汇编语句????
type test=record
s,k:string;
end;
//赋值
var ttest:test;
ttest.s:='demo';//没问题
ttest.k:='demo';//没问题
-----------------------------------------------
//把该记录定义为类的成员
type tdemo=class
ftest:test;
constructor create;
...
...
property testrecord:test read ftest write ftest;
...
end;
//在程序中使用demo属性
var demo:tdemo;
demo:=tdemo.create;
{
demo.testrecord.s:='demo';//出错,显示不能赋植。
demo.testrecord.k:='demo';//同上。
}
with demo.testrecord do
begin
s:='demo';//没问题。
k:='demo';//每问题。
end;
请问用了With do语句就没有了问题,With除了开域难道Delphi编译器还插入了其他汇编语句????