Zitat von
TiGü:
Wahrscheinlich hast du übersehen, das er ihn erweitert hat.
Da steht alles drin, was du wissen musst.
Punkt Nummer eins habe ich dir bspw. schon auf der vorigen Threadseite gezeigt.
Du musst die Vorschläge nur verstehen und umsetzen.
Hallo TiGü,
ja zu erstens, ich habe das übersehen. Ich glaube auch das da alles drin steht, aber der letze Punkt trifft leider auch zu. Ich habe das ganze jetzt versucht mal umzubauen. Als erstes hier mal mein neuer "record"
Delphi-Quellcode:
type
TRKundenDaten = record
FKundedaten : TOCustomers;
FObjektdaten : TOBuilding;
FSystemdaten : TOSystems;
end;
PRKundenDaten = ^TRKundenDaten;
Aber der erste Crash kommt direkt beim einlesen...
Delphi-Quellcode:
var
Node, CustomerNode, BuildingNode, SystemNode, ReportNode : PVirtualNode;
Daten : PRKundenDaten;
begin
try
...
CustomerNode := vstKunden.AddChild(nil); //in diese Knoten wir nach nur der BD-Pfad geschrieben...
//Kundendaten laden aus Kundendatenbank
...
//Dann durch alle Datensätze mit einer Schleife...
for i := 0 to DMMasterData.qryCustomerData.RecordCount -1 do
begin
try
BuildingNode := vstKunden.AddChild(nil);
Daten := vstKunden.GetNodeData(CustomerNode);
//Mit Create und ohne versucht... Aber hier kracht es
{Daten^.FKundedaten := TOCustomers.create;
Daten^.FObjektdaten := TOBuilding.create;
Daten^.FSystemdaten := TOSystems.create;}
with Daten^ do
begin
FKundedaten.Kunden_Kundennummer := DMMasterData.qryCustomerData.FieldByName('Kunden_Kundennummer').AsInteger;
...
end;