Вася, я ж проверил. Все пашет. Даже к with комментарий написал с предположением, почему оно пашет. )
Я даже больше скажу. Угадай, что выведет такой код:
Код:
TRec = record
a:string;
b:integer;
end;
***
procedure Proc;
var
R:TRec;
begin
R.a := 'qwe';
R.b := 1;
with R do
begin
a := 'asd';
b := 2;
showmessage(R.a + IntToStr(R.b));
end;
end;
А вот и не угадал! Выдаст 'qwe1'.
А вот этот код
Код:
TRec = record
a:string;
b:integer;
end;
***
procedure Proc;
var
R:TRec;
begin
R.a := 'qwe';
R.b := 1;
with R do
begin
a := 'asd';
b := 2;
showmessage(a + IntToStr(b));
end;
end;
и вот этот код
Код:
TRec = record
a:string;
b:integer;
end;
***
procedure Proc;
var
R:TRec;
begin
R.a := 'qwe';
R.b := 1;
with R do
begin
a := 'asd';
b := 2;
end;
showmessage(R.a + IntToStr(R.b));
end;
выдадут то, что мы и ожидали, то есть 'asd2' )