Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Memory Leaks beheben (https://www.delphipraxis.net/156885-memory-leaks-beheben.html)

w4rheart 19. Dez 2010 14:42

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...

DeddyH 19. Dez 2010 14:59

AW: Memory Leaks beheben
 
Wozu zum Henker wird denn dieses komische Zeichenkettenobjekt benötigt, wenn es doch nichts Besonderes tut?

w4rheart 19. Dez 2010 15:12

AW: Memory Leaks beheben
 
hier:
Delphi-Quellcode:
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;
Allerdings kann ich nicht auf gibfrei, free oder sonst was zugreifen.

Sir Rufo 19. Dez 2010 15:17

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?

DeddyH 19. Dez 2010 15:18

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?

Sir Rufo 19. Dez 2010 15:20

AW: Memory Leaks beheben
 
Zitat:

Zitat von DeddyH (Beitrag 1069412)
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?

Da hab ich mich auch erst verhauen.

lNachricht ist vom Typ Zeichenkette und das ist String
ZeichenketteObject ist ein Object ;)

DeddyH 19. Dez 2010 15:22

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.

Sir Rufo 19. Dez 2010 15:27

AW: Memory Leaks beheben
 
Zitat:

Zitat von DeddyH (Beitrag 1069414)
:wall: Wo liegt eigentlich der Sinn darin, Bezeichner für bereits existierende Datentypen unbedingt eindeutschen zu wollen? Da muss man ja durcheinanderkommen.

Hatte ich ja schon so eine Vermutung http://www.delphipraxis.net/1068099-post15.html

DeddyH 19. Dez 2010 15:31

AW: Memory Leaks beheben
 
[OT] Man müsste denjenigen, der diese Units verbrochen hat, dazu zwingen, "Jehova" zu sagen :mrgreen: [/OT]

Sir Rufo 19. Dez 2010 15:40

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 14:22 Uhr.
Seite 3 von 4     123 4      

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