![]() |
AW: Memory Leaks beheben
Ja, ich weiss es auch nicht.
Ich komme auch nicht mehr weiter, bzw. weiss nicht was ich tun soll... Wenn das Programm läuft, steigt einfahc die ganze Zeit die Ram Auslastung... und irgendwann stürzt es dann halt ab... |
AW: Memory Leaks beheben
Wozu zum Henker wird denn dieses komische Zeichenkettenobjekt benötigt, wenn es doch nichts Besonderes tut?
|
AW: Memory Leaks beheben
hier:
Delphi-Quellcode:
Allerdings kann ich nicht auf gibfrei, free oder sonst was zugreifen.
procedure Verbindung.ClientSocketRead( Sender: TObject; Socket: TCustomWinSocket );
var lNachricht, lEineNachricht: Zeichenkette; begin lNachricht := Socket.receiveText; hatTextwerkzeug.setzeTrennung( NTrenner ); repeat lEineNachricht := hatTextwerkzeug.wortAn( lNachricht, 1 ); if hatTextwerkzeug.laenge( lEineNachricht ) = hatTextwerkzeug.laenge( lNachricht ) then lNachricht := '' else lNachricht := hatTextwerkzeug.textOhne( lNachricht, 1, hatTextwerkzeug.laenge( lEineNachricht ) + hatTextwerkzeug.laenge( NTrenner ) ); if lEineNachricht <> '' then hatListe.haengeAn( ZeichenketteObjekt.init( lEineNachricht ) ); //HIER if zMitProtokoll then hatClientKontrollfenster.memo1.lines.add( 'Verbindung liest ' + lEineNachricht ); until lNachricht = ''; end; |
AW: Memory Leaks beheben
Hier handelt es sich wieder um diese verhunzte (mir liegt ja eher vergewaltigte) Unit-Sammlung aus dem Schulunterricht.
Helfen kann man da nur wenig, denn diese Sammlung ist - nicht wirklich Standard - teilweise sogar falsch aufgebaut - verdeutscht mit bisserl englisch - wahrscheinlich auch noch ansteckend :mrgreen: - und hier im Forum auch nicht bekannt (aus oben genannten Gründen) nochmal zu hatTextwerkzeug: Wo wird das wieder freigegeben? |
AW: Memory Leaks beheben
ReceiveText gibt einen String zurück. Ich wundere mich eigentlich, dass der Code überhaupt kompiliert wird. Nochmal: wozu diese komische Klasse, wenn man genausogut den Datentyp String verwenden kann?
|
AW: Memory Leaks beheben
Zitat:
lNachricht ist vom Typ Zeichenkette und das ist String ZeichenketteObject ist ein Object ;) |
AW: Memory Leaks beheben
:wall: Wo liegt eigentlich der Sinn darin, Bezeichner für bereits existierende Datentypen unbedingt eindeutschen zu wollen? Da muss man ja durcheinanderkommen.
|
AW: Memory Leaks beheben
Zitat:
![]() |
AW: Memory Leaks beheben
[OT] Man müsste denjenigen, der diese Units verbrochen hat, dazu zwingen, "Jehova" zu sagen :mrgreen: [/OT]
|
AW: Memory Leaks beheben
Wenigstens sollte ein CompilerSchalter drin sein:
Delphi-Quellcode:
{$IFDEF Lehrer}
... {$ELSE} ShowMessage( 'Merkst du es noch?' ); {$ENDIF} |
Alle Zeitangaben in WEZ +1. Es ist jetzt 22:22 Uhr. |
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