saludos,
les comento que con las indicaciones de validar en el evento onAfterscroll de dataset me sirvio, nadamas tengo una duda de que me da un error.
realize un procedimiento para los controles que cambiara la propiedad ReadOnly a True,
Código Delphi
[-]
public procedure SetReadOnly(Value:boolean);
---
procedure TfrmEtiquetas.SetReadOnly(Value:boolean);
var
PropInfo : PPropInfo;
Component : TComponent;
i : integer;
begin
for i := 0 to ComponentCount - 1 do begin
Component := Components[ i ];
if Component is TControl then begin
PropInfo := GetPropInfo( Component.ClassInfo, 'ReadOnly' );
if Assigned( PropInfo ) and
( PropInfo^.PropType^.Kind = tkEnumeration ) then
SetOrdProp( Component, PropInfo, integer( Value ) );
end;
end;
end;
el segundo procediento en el Modulo de datos:
en
Código Delphi
[-]
Private
procedure EstadoEtiq;
procedure TBD.EstadoEtiq;
begin
if ibEtiquetasESTADO.Value='A' then
begin
Estado := False;
frmEtiquetas.acModificar.Enabled:=estado;
frmEtiquetas.SetReadOnly(true);
end
else
begin
Estado := true;
frmEtiquetas.acModificar.Enabled:=estado;
frmEtiquetas.SetReadOnly(false);
end;
end;
procedure TBD.ibEtiquetasAfterScroll(DataSet: TDataSet);
begin
HayImagen; ----->funcion para comprobar si hay imagen isnull
EstadoEtiq; ------>>>Linea agregada
end;
Si agrego estadoEtiq me da un errror de acess violation at adress 009ee93b in modulo ventas.exe read or adress ffffffff cuando voy al menu de etiquetas;
esto es lo raro si la agrego me da error y despues tengo que volver al menu y entrar a etiquetas.
Que puediera ser, alguna razon
gracias