Einzelnen Beitrag anzeigen

bwolf

Registriert seit: 17. Jan 2006
368 Beiträge
 
Delphi 2009 Professional
 
#1

Daten aus Query in Array kopieren, danach Query in Inser-Mode setzen = AccessViolatio

  Alt 11. Nov 2010, 12:54
Hi Leute,

stehe grade total auf dem Schlauch.

Ich habe eine TAdsQuery, die im Edit-Mode ist.
Auf Knopfdruck will ich diese Werte in ein Array (variant) speichern, und die Query anschließend in den Insert-Mode schicken.

Folgender Code:

Delphi-Quellcode:
procedure TfrmMain.btnDuplizierenClick(Sender: TObject);
var
  rec2 : Array of Variant;
  i : integer;
  S : string;
begin
  // Werte kopieren
  setLength(rec2,qBuchungstabelle.FieldCount -1);
  for I := 0 to qBuchungstabelle.FieldCount -1 do
  begin
    // s := qBuchungstabelle.Fields[i].Value;
    rec2[i] := qBuchungstabelle.Fields[i].Value;
  end;

  // Hier knallt es:
  qBuchungstabelle.Insert;
end;
Die Werte werden einwandfrei in das Array kopiert, aber sobald ich die Query dann in den Insert-Mode setzen, gibt seine EAccessViolation:

Zitat:
---------------------------
Benachrichtigung über Debugger-Exception
---------------------------
Im Projekt test.exe ist eine Exception der Klasse EAccessViolation mit der Meldung 'Zugriffsverletzung bei Adresse 0043A21F in Modul 'test.exe'. Lesen von Adresse 00000034' aufgetreten.
---------------------------
Anhalten Fortsetzen Hilfe
---------------------------
Das komische ist: Wenn ich die Werte nicht in das Array speichere, sonder dem String zuweise, dann gibt es diese AccessViolatio nicht.
Thx für eure Hilfe!

Geändert von mkinzler (11. Nov 2010 um 13:14 Uhr) Grund: Code-Tag durch Delphi-Tag ersetzt
  Mit Zitat antworten Zitat