Ver Mensaje Individual
  #13  
Antiguo 12-10-2005
lento manu lento manu is offline
Miembro
 
Registrado: oct 2004
Posts: 29
Reputación: 0
lento manu Va por buen camino
¡Que es fista!

Jod..., Lepe, q es fiesta. Te me has adelantada porque es exactamente como lo he solucionado. Pero las gracias te las mereces igualmente o más. Yo lo había escrito así:
Código Delphi [-]
procedure TfmPal.ToolButton3Click(Sender: TObject);
 var
    Recuerda : array of variant;
    n:integer;
 begin
    {Reservamos memoria para el array}

    SetLength(Recuerda,Table1.FieldCount);
    {Vamos al ultimo registro}
    Table1.Last;
    {Recordamos los campos}
    for n:=0 to Table1.FieldCount-1 do
    begin
      Recuerda[n]:=Table1.Fields[n].AsVariant;
    end;
    {Añadimos un registro}
    Table1.Append;
    {Lo rellenamos}
    for n:=0 to Table1.FieldCount-1 do
    begin
      Table1.Fields[n].AsVariant:=Recuerda[n];
    end;
    {Lo grabamos}
    Table1.Post;
    Recuerda:=nil;
end;
El nil era por si acaso, pero ya me queda claro con tu comentario q es redundante. También he quitado la asignación Type, y me funciona estupendo. Ya lo estoy implementando en mi componente del DBX.pas, de modo q al crear un nuevo registro (a través del evento del DBNavigator BeforeAction, ya q el TTable está en mi DataModule y no puedo sobrescribir su BeforeInsert (q ya está escito desde el DM), asigno los valores actuales a este array de variants), para poder insertar los valores de cada campo iguales al anterior por medio de F4 (en mi caso: antiguo usuario Magic). Aún me falta cuando el DBeditor es un DBLookUpComboBox. Pero como también soy usuario de mis programas, me lo voy a agradecer mucho.
Pero no entiendo porque en el código del que extrajimos este procedimiento, se cuelga en la Variant.pas, y no en la asignación de los punteros. Desde luego así es mucho más legible y comprensible, pero veo código por ahí q con los punteros consiguen todo. No te molestes en contestar aquí lo de los punteros, porque realmente no pertenecia a este hilo SQL, ya mi pregunta anterior. Cuando pueda ya buscaré por aquí a ver q entiendo, y si me lanzo a usarlos algo más. Gracias por tus ayudas, ... piensate lo de la fotillo, aunque la CCC también vale!
Responder Con Cita