[Lazarus-es] actualización lazarus
José Mejuto
joshyfun en gmail.com
Mie Abr 13 16:38:18 CEST 2011
Hello Ismael,
Wednesday, April 13, 2011, 2:33:36 PM, you wrote:
ILDG> procedure Tfcaptar.dsBeforePost(DataSet: TDataSet);
ILDG> begin
ILDG> if fconta.RegOpe = 'RT' then begin // fconta es el nombre del formulario
ILDG> padre
ILDG> if DataSet.FieldByName('reg').AsInteger <= 0 then
ILDG> begin
ILDG> Application.MessageBox('El número del registro no puede ser un número
ILDG> mayor que cero.', pchar(Self.Caption), 0);
ILDG> DataSet.Cancel; // aquí trato de cancelar la actualización, la
ILDG> cancela pero borra todo lo que escrito en todas las columnas y necesito que
ILDG> no borre nada.
Esto creo que sería "Abort". Si se produce una excepción (cualquiera)
en el "BeforePost", el "Post" no llega a realizarse. Si ejecutas
"Abort" este lanza una excepción, que la recoge el motor interno y al
comprobar que es "EAbort" simplemente cancela el post, se traga la
excepción y devuelve el control a los componentes.
ILDG> dbg.Columns.Items[0].Grid.SetFocus; //dbg es el nombre del TDBGrid,
ILDG> aquí me trato de posicionar en una columna, esto no funciona
Se solucionaría con "dbg.SelectedIndex:=0" ???
--
Best regards,
José
More information about the Lazarus-es
mailing list