Resulta que tengo una pantalla que realiza capturas sobre varios archivos de una base de datos..., altas, bajas, cambios, reportes. Pero resulta que si estando capturando datos, CANCELO la edición, me marca un error que no puede poner el foco en un componente deshabilitado o invisible. Yo deshabilito los controles que estoy usando con una construcción así:
for I := ComponentCount - 1 downto 0 do begin if (Components.ClassType = TDbEdit) then TDbEdit(Components).Enabled := False; if (Components.ClassType = TDBMemo) then TDbMemo(Components).Enabled := False; if (Components.ClassType = TJvDBLookupCombo) then TJvDBLookupCombo(Components).Enabled := False; if (Components.ClassType = TDBComboBox) then TDBComboBox(Components).Enabled := False; end;
Todo va perfectamente, hasta que Delphi "se da cuenta" que no tendrá un control para enfocar y me rebuzna con una redondísima "Access Violation", indicando que no puede poner el foco en un control deshabilitado o invisible...
Y yo me pregunto, entonces cuando crea la forma, ¿en dónde demonios enfoca si TODO lo tengo deshabilitado EXCEPTO un TToolButton en una TToolBar?
Mi intención es que TODOS los controles de edición queden deshabilitados, y de ser posible no me marque éste Access Violation.
Agradeciendo de antemano.