Ver Mensaje Individual
  #4  
Antiguo 12-11-2010
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Reputación: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
En las primeras líneas creo que abres y cierras la tabla varias veces

Código Delphi [-]
with DM.tblMKard do
begin
  if not Active then
    Active := true; {Aqui la abres}
    DM.dsMKard.DataSet := nil;
    Close; {Aqui la cierras}
    Open; {Aqui la abres}
[...]

Quizás eso moleste un poco a la tabla y no se entere bien de cual es el contador que le toca.

Tambien parece que quitas la propiedad DataSet a un DataSource.
Si lo que quieres es que los componentes visuales no se enteren, deberías hacerlo con un Disable/EnableControls

Código Delphi [-]
with DM.tblMKard do
begin
  DisableContros
  if not Active then
    Active := true;
  Insert;
  [...]
  Post;
  EnableControls;
end;
[...]

Y finalmente puede ser que la tabla no esté en estado dsBrowse al momento de insertar, aunque creo que daría algún otro error


Código Delphi [-]
with DM.tblMKard do
begin
  DisableContros
  if not Active then
    Active := true;
  if (state = dsBrowse) then
  begin
     Insert;
     [...]
     Post;
  end else
     {La tabla estaba en un modo que no debía. Qizás dsInsert, dsEdit, etc.}
  EnableControls;
end;
[...]

Última edición por duilioisola fecha: 12-11-2010 a las 21:02:23.
Responder Con Cita