Hola compañeros,
me ando volviendo loco con Access Violation todavia... ahora parece que no peta el tema de personal quitandole...
IBtransaction y el Close...
Alguien me puede guiar un poco? estaban mal colocados? no era correcto o que pasaba?
Código Delphi
[-]Procedure TGesVentasBar.CrearBotonesPersonal;
var QPersonal : TIBSQL;
vBotonPersonal : TSpeedButton;
vPersonalCodigo : Integer;
vPersonalNombre : String;
Begin
vPersonalNombre := '';
vBotonAltoPersonal := 70;
vBotonAnchoPersonal := 100;
vBotonInicioPersonal := 4;
vBotonIzquierdaPersonal := 4;
Btt_AnteriorRegistroPersonal.Enabled := False;
Btt_SiguienteRegistroPersonal.Enabled := False;
QPersonal := TibSql.create(NIL);
QPersonal.Database := BDades.IBDatabase1;
Try
QPersonal.SQL.Text := 'Select * from Personal where tienda = ' + '''' +BDades.TConfigTIENDA.Text + '''';
QPersonal.ExecQuery;
While QPersonal.Eof = False do
Begin
vPersonalNombre := QPersonal.FieldByName('NOMBRE').AsString;
vPersonalCodigo := QPersonal.FieldByName('CODIGO').AsInteger;
vBotonPersonal := TSpeedButton.create(Personal);
vBotonPersonal.Parent := Personal;
vBotonPersonal.Tag := vPersonalCodigo;
vBotonPersonal.Caption := vPersonalNombre;
vBotonPersonal.Height := vBotonAltoPersonal;
vBotonPersonal.Width := vBotonAnchoPersonal;
vBotonPersonal.Left := vBotonIzquierdaPersonal; vBotonPersonal.Top := vBotonInicioPersonal;
vBotonPersonal.Enabled := True;
vBotonPersonal.visible := True;
vBotonPersonal.Hint := vPersonalNombre;
vBotonPersonal.OnClick := vPersonalBotonOnClick;
vBotonPersonal.Show;
QPersonal.Next;
vBotonInicioPersonal := vBotonInicioPersonal + vBotonAltoPersonal;
end;
finally
QPersonal.Free;
end;
end;
procedure TGesVentasBar.vPersonalBotonOnClick(Sender: TObject);
var QOpcionesPersonal : TIBSQL;
vBotonPersonalOpciones : TSpeedButton;
vVentasOpcionesCodigo : Integer;
vVentasOpcionesNombre : String;
Begin
vVentasOpcionesNombre := '';
vBotonInicioPersonal := 4;
vBotonAltoPersonal := 70;
vBotonAnchoPersonal := 100;
vBotonIzquierdaPersonal := 4;
vVendedor := Tbutton(sender).tag;
vendedor.Text := IntToStr(vVendedor);
BorrarPanelPersonal;
Btt_AnteriorRegistroPersonal.Enabled := True;
Btt_SiguienteRegistroPersonal.Enabled := False;
QOpcionesPersonal := TibSql.create(Self);
QOpcionesPersonal.Database := BDades.IBDatabase1;
Try
QOpcionesPersonal.SQL.Text := 'Select * from VentasOpciones where tienda = ' + '''' + BDades.TConfigTIENDA.Text + '''';
QOpcionesPersonal.ExecQuery;
While QOpcionesPersonal.Eof = False do
Begin
vVentasOpcionesCodigo := QOpcionesPersonal.FieldByName('CODIGO').AsInteger;
vVentasOpcionesNombre := QOpcionesPersonal.FieldByName('NOMBRE').AsString;
vBotonPersonalOpciones := TSpeedButton.create(Personal);
vBotonPersonalOpciones.Parent := Personal;
vBotonPersonalOpciones.Caption := vVentasOpcionesNombre;
vBotonPersonalOpciones.Height := vBotonAltoPersonal;
vBotonPersonalOpciones.Width := vBotonAnchoPersonal;
vBotonPersonalOpciones.Left := vBotonIzquierdaPersonal; vBotonPersonalOpciones.Top := vBotonInicioPersonal; vBotonPersonalOpciones.Enabled := True;
vBotonPersonalOpciones.visible := True;
vBotonPersonalOpciones.Tag := vVentasOpcionesCodigo;
vBotonPersonalOpciones.OnClick := vOpcionesVentasBotonOnClick;
vBotonPersonalOpciones.Show;
QOpcionesPersonal.Next;
vBotonInicioPersonal := vBotonInicioPersonal + 70;
end;
finally
QOpcionesPersonal.Free;
end;
end;
no quedara ahora una transaction activa???