Ver Mensaje Individual
  #15  
Antiguo 16-12-2010
LiAnTe- LiAnTe- is offline
Miembro
 
Registrado: oct 2007
Posts: 47
Reputación: 0
LiAnTe- Va por buen camino
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;//vBotonAncho + ParentVarCountPersonal.Left;
      vBotonPersonal.Top     := vBotonInicioPersonal;
      vBotonPersonal.Enabled := True;
      vBotonPersonal.visible := True;
      vBotonPersonal.Hint    := vPersonalNombre;
      vBotonPersonal.OnClick := vPersonalBotonOnClick;
      vBotonPersonal.Show;

      QPersonal.Next;
      vBotonInicioPersonal := vBotonInicioPersonal + vBotonAltoPersonal;
    end;
//   BDades.IBTransaction1.CommitRetaining;
   finally
//    QPersonal.Close;
    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);
//  VendedorExit;
  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;     // Inicio
      vBotonPersonalOpciones.Top     := vBotonInicioPersonal;     // Altura
      vBotonPersonalOpciones.Enabled := True;
      vBotonPersonalOpciones.visible := True;
      vBotonPersonalOpciones.Tag     := vVentasOpcionesCodigo;
      vBotonPersonalOpciones.OnClick := vOpcionesVentasBotonOnClick;
      vBotonPersonalOpciones.Show;

      QOpcionesPersonal.Next;
      vBotonInicioPersonal := vBotonInicioPersonal + 70;
    end;
//   BDades.IBTransaction1.CommitRetaining;
   finally
//    QOpcionesPersonal.Close;
    QOpcionesPersonal.Free;
   end;
end;

no quedara ahora una transaction activa???
Responder Con Cita