Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   FreePascal Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage (https://www.delphipraxis.net/188409-speicherleck-mit-sqldb-und-indy-tcp-server-bei-datenbankabfrage.html)

Benedikt Magnus 3. Mär 2016 08:06

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage
 
Hat niemand mehr eine Idee?

Jasocul 3. Mär 2016 08:30

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage
 
Zitat:

Zitat von Benedikt Magnus (Beitrag 1331699)
Delphi-Quellcode:
  //Zuweisungen:
  A^.Verbindung.Transaction := A^.Transaktion;
  A^.Transaktion.DataBase := A^.Verbindung;
  A^.Anfrage.DataBase := A^.Verbindung;
  A^.Anfrage.Transaction := A^.Transaktion;
end;

Das kommt mir verdächtig vor.
Ich habe noch nicht mit mySQL in der Form gearbeitet, aber schon mit anderen Datenbanken.
Dort kenne ich es eigentlich so, dass NUR der Connection die Transaktion zugewiesen wird. Alle weiteren Elemente, die mit dieser Verbindung arbeiten, verwenden dann automatisch diese Transaction.
Möglicherweise kommt dort etwas durcheinander.
Ohne jetzt in die Tiefe zu gehen (also ungeprüft), sollte dies doch ausreichen:
Delphi-Quellcode:
  A^.Verbindung.Transaction := A^.Transaktion;
  A^.Anfrage.DataBase := A^.Verbindung;

sahimba 3. Mär 2016 08:40

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage
 
Zitat:

Zitat von Benedikt Magnus (Beitrag 1331749)
Die selben 23 Speicherlecks! [...] Weiß da jemand Rat?

Offensichtlicher geht es doch gar nicht mehr.

Benedikt Magnus 3. Mär 2016 08:47

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage
 
@Jasocul:
Sehr interessante Bemerkung. Ich habe es mal ausprobiert. Brachte aber leider keinen Erfolg. Dieselben 23 Speicherlecks...(wenngleich nunmehr ohne Verweis auf Indyunits.)
Die Query funktioniert aber tadellos mit deinen Anweisungen.
Die gegenseitige Zuweisung hatte ich aus diesem HowTo für die Komponenten und Lazarus.

Zitat:

Zitat von sahimba
Offensichtlicher geht es doch gar nicht mehr.

Möchtest du uns aufklären?

Jumpy 3. Mär 2016 09:56

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage
 
Zitat:

Zitat von Benedikt Magnus (Beitrag 1331920)
Zitat:

Zitat von sahimba
Offensichtlicher geht es doch gar nicht mehr.

Möchtest du uns aufklären?

Ich denke das ist offtopic gemeint, für Verschwörungstheoretiker z.B. wie sowas.

Benedikt Magnus 3. Mär 2016 13:41

AW: Speicherleck mit SqlDB (und Indy-TCP-Server) bei Datenbankabfrage
 
Das Problem ist gelöst! :-D

Heute morgen halb zehn ist das Update für CodeTyphon auf die Version 5.70 erschienen. Beim Durchstöbern bin ich auf einen Foreneintrag gestoßen, nachdem es einen Bug in den Free Pascal Sources gab, der in bestimmten Stringroutinen (verwendet von SqlDB...) ein Speicherleck erzeugt hat. Der ist mit der neuen version gefixt worden. Nach der Installation erhalte ich in meinem Programm nun ein schön sauberes "0 unfreed memory blocks" von Lazarus. Hurra! :lol:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:33 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz