想在一个页面显示时找到所有的dbedit根据组权限设置readonly. 如下代码: case login.pass.fieldbyname('group').value of
99:begin
for i:= 1 to 20 do
begin
Tdbedit(findcomponent('dbedit'+inttostr(i))).ReadOnly :=false;
end;
end;但运行时总是报一个错:“acceess violation at address ...vcldb60.bpl"
结果有的dbedit是可写的,但也有不可写的。这是不是要先判断一下有没有找到该组件然后再设属性, 语句??
99:begin
for i:= 1 to 20 do
begin
Tdbedit(findcomponent('dbedit'+inttostr(i))).ReadOnly :=false;
end;
end;但运行时总是报一个错:“acceess violation at address ...vcldb60.bpl"
结果有的dbedit是可写的,但也有不可写的。这是不是要先判断一下有没有找到该组件然后再设属性, 语句??
case login.pass.fieldbyname('group').value of
99:begin
for i:= 1 to ComponentCount do
if Components[i] is TDBEdit then
begin
Tdbedit(Components[i]).ReadOnly :=false;
end;
end;
case login.pass.fieldbyname('group').value of
99:begin
for i:= 0 to ComponentCount-1 do
if Components[i] is TDBEdit then
begin
Tdbedit(Components[i]).ReadOnly :=false;
end;
end;
var o: TComponent;
o := findcomponent('dbedit'+inttostr(i)));
if o <> nil then TDBEdit(o).ReadOnly := False;