-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Ykcim,
26. Jan 2024
Hallo Zusammen,
ich nutze Delphi seit ca. 15 Jahren hobbymäßig... Aber ab #Post19 brauche ich ein Wörterbuch :oops:
Ich werde in den nächsten Wochen Zuhause die Programmgruppe neu aufbauen und mir das Wörterbuch deneben legen. :lol:
Vielen Dank für die vielen Anregungen, ich werde berichten!
LG Patrick
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Ykcim,
16. Jan 2024
Hallo Zusammen,
die letzten zwei Wochen bin ich nicht dazu gekommen, an dem Thema weiter zu arbeiten. Habe während meines Urlaubs verschiedene Dinge umgebaut, aber bekomme die Speicherprobleme nicht in den Griff. Habe mich entschieden, die Software noch mal neu aufzubauen und Schritt für Schritt die Speicheraktivitäten zu überprüfen. Ich habe zu viele Proceduren mit der falschen...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Ykcim,
23. Dez 2023
Hallo Zusammen,
vielen Dank für die Erklärungen. Ich bin das Projekt gerade mal überflogen und in dem meisten Fällen habe ich eine procedure verwendet, wo der Stream übergeben wurde und wo klar ist, wer freigeben muss. Aber leider habe ich auch solche Konstellationen:
function TDBService.Get_ProduktReport_General (Kunde: string; Von, Bis: TDate): TStream;
var MxSQL: TMxSQL;
...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Ykcim,
22. Dez 2023
So, ich habe jetzt mal ein bißchen weiter ausprobiert und komme zu einer Frage, bei der ich Euch wahrscheinlich bis hierhin lachen höre:duck:
Wenn ich eine Function habe, die als Rückgabewert einen Stream hat, wird dann der Streaminhalt oder nur der Pointer zurückgegeben?
Ich habe bislang in der aufrufenden Procedure immer eine Variable vom Type T(Memory)Stream created, ihr die Funktion...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Ykcim,
22. Dez 2023
Vergesst des Crash - habe den Fehler gefunden...
Hatte gestern testweise die Streams manuell freigegebe:
MxSQL.StreamSetMain.Free;
MxSQL.StreamSetBSC.Free;
MxSQL.Free;
Dann muss es mit dem Destructor ja crashen...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Ykcim,
22. Dez 2023
Das sind die Leaks, die nur beim Programmstart entstehen...
Der Vorschlag mit der abgeleitet Klasse ist glaube ich gar nicht nötig, denn ich kann in der Speicherbeschreibung sehen, um welche Tabelle es sich handelt:
Aber in den Dateien, die darüber erwähnt werden, ist keine selbstdefinierte... :?:
Aktuell habe ich noch das Problem, dass mit dem angepasst Destructor die Applikation...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Ykcim,
22. Dez 2023
Ich habe es jetzt so angepasst und es gibt zumindest keinen Crash mehr...
destructor Destroy; override;
...
destructor TMxSQL.Destroy ;
begin
FreeAndNil(fStreamSetMain);
FreeAndNil(fStreamSetBSC);
SetLength(fColsSetMain, 0);
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Ykcim,
22. Dez 2023
Ok, da hast Du direkt die Lücken getroffen...:oops:
Stimmt, macht keinen Sinn, aber ich gebe eigentlich bei properties immer read und write an. Aber so wäre es richtig:
property StreamSetMain: TMemoryStream read fStreamSetMain;
property StreamSetBSC: TMemoryStream read fStreamSetBSC;
Ich nehme an, die korrekte Definition des Contructors sähe so aus:
constructor TMxSQL.Create(GetSets:...
-
Forum: Algorithmen, Datenstrukturen und Klassendesign
by Ykcim,
22. Dez 2023
Hallo Zusammen,
ich habe meine Client-Server App massiv umgebaut und dabei soviele Speicherleaks geschaffen, dass die Anwendung wegen überfülltem Speicher nach 1-2 Stunden abstürzt.
Allerdings finde ich den Fehler nicht.
Ich versuche mich gerade in FastMM4 einzuarbeiten.
Aber mal eine grundsätzliche Frage:
Werden TMemoryStreams, die ich in einem Objekt definiere, freigegeben, wenn ich das...