Moinmoin.
Ich stelle gerade ein Projekt etwas um, und setze stellenweise
kbmMemTable ein.
Die Tabellenstruktur habe ich mit dem komponenteneigenen Editor von einer anderen Table übernommen, sowie die Felddefinitionen. Möchte ich nun aber einem solchen Feld einen Wert zuweisen, bekomme ich eine
AV, zugriff auf Adresse 0. Hier mal ein Fetzen Code, was bis zu dieser Zuweisung passiert:
Delphi-Quellcode:
procedure TForm1.CreateForm(Sender: TObject);
begin
kbmMemTable1.CreateTable;
end;
procedure TForm1.Button1Click(Sender: TObject);
var
REZ_NR: Integer;
begin
REZ_NR := 10;
// Wert wird aus einer anderen Tabelle gelesen, dieser passt auch
kbmMemTable1.Close;
kbmMemTable1.EmptyTable;
// Bei der MemTable eigentlich nicht nötig nach Close, AV kommt aber auch ohne diese Zeile nachher
kbmMemTable1.Open;
kbmMemTable1.Append;
kbmMemTable1REZ_NR.AsInteger := REZ_NR;
// Hier gibbets die AV
end;
"kbmMemTable1REZ_NR" ist ein im Feldeditor erzeugtes TIntegerField, was in dem Projekt bei "normalen" TTables ausgiebig genutzt wird, und auch geht. Warum läuft die MemTable da auf den Hammer? Bzw. was muss ich noch beachten/tun, damit des klappt?
Vielen Dank schonmal!
Fabian
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel