Cita:
Empezado por ecfisa
Hola cipe22.
Dado que recibis un error Access Violation, apunto a que estas referenciando un objeto inexistente. Como para ir circunscribiendo el error, intentá hacer esta prueba:
Código Delphi [-]procedure UPDATE_f(dataset: TIBQuery; query: string; msgerror: string); begin (* LINEAS AGREGADAS *) try ShowMessage(Transaction.Name); except raise Exception.Create('Transaction aún no ha sido creado'); end; try ShowMessage(dataset.ClassName); except raise Exception.Create('dataset aún no ha sido creado'); end; try ShowMessage(Form_Seleccion.Caption); except raise Exception.Create('Form_Selection aún no ha sido creado'); end; try ShowMessage(IntToStr(Form_Seleccion.campo_id_oficial)); except raise Exception.Create('campo_id_oficial aún no ha sido creado'); end; (* FIN LINEAS AGREGADAS *) { código original with dataset do begin Transaction.StartTransaction; SQL.Clear; SQL.Add(query); Prepare; params.ParamByName('id_matricula_nvo').AsInteger:=Form_Seleccion.campo_id_oficial; ExecSQL; try Transaction.Commit; except on E: Exception do begin Application.MessageBox( PChar( E.Message ), PChar( msgerror ), MB_ICONSTOP ); dataset.Transaction.Rollback; end; end; end; } end;
Saludos
|
Gracias ecfisa, probando eso, todo está en su sitio, cada cosa ha sido creada y se muestran los valores en los mensajes
revisando el codigo ¿Esta linea podria ser la culpable?
Código Delphi
[-]Grid_sel.DataSource:=nil;
Grid_sel es un gridview en el cual muestro el resultado del primer select, el cual voy a tratar, con esa linea pretendo desasociar el dataset al gridview ¿es correcto?