Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: Fr Jul 18, 2025 19:10

Foren-Übersicht » Programmierung » OpenGL
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 49 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Fr Okt 27, 2006 23:30 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 14, 2006 13:08
Beiträge: 117
Wohnort: Berlin
@ Shaddow.

hab mir mal die EasySDLTextures.pas angeschaut.
Da steht folgendes drin:
Code:
  1.  
  2. ...
  3. constructor TEasySDLTextures.Create;
  4. begin
  5.   Inherited;
  6.   fNames := TStringList.Create;
  7.   SetLength(fTexture_ID, 0);
  8.   fApplicationDirectory := ExtractFilePath(ParamStr(0));
  9.   {$ifdef win32}
  10.   //replace \ with /
  11.   fApplicationDirectory:=StringReplace(fApplicationDirectory,'','/',[rfReplaceAll]);
  12.   {$endif}
  13.  
  14.   fUseAppDirectory      := true;
  15.   fuseCompression       := false;
  16.   fCompression          := 0;
  17. end;
  18. ...
  19.  


Weiterhin wird in der pascal-datei eine Variable "Textures" vom Typ TEasySDLTextures initialisiert.
Code:
  1.  
  2. ...
  3. initialization
  4.   textures :=  TEasySDLTextures.Create;
  5. finalization
  6.   textures.free;
  7.  
  8. end.
  9.  


und genau die verursacht deinen TStringlist-Fehler. !!!!
Warum ?
Im oberen CodeTeil findest du eine interne Variable

fNames := TStringList.Create;

und diese wird NIE freigegeben.
Abhilfe bekommst du mit einfügen folgenden Codes
Code:
  1.  
  2. ...
  3.   public
  4.     destructor destroy; override;
  5. ...
  6.  
  7. destructor TEasySDLTextures.destroy;
  8. begin
  9.   fNames.Free;
  10.   inherited;
  11. end;
  12.  


Ab dann funktioniert es erst fehlerfrei.
Auch wenn du im eigenen Programm (wie ich zuvor) ein x als TEasySDLTextures benuzt.
FastMM4 hält die Klappe.

Gruß Uwe

_________________
Die 3 Totfeinde eines Programmierers ?
a) Tageslicht
b) frische Luft
c) ..und das ständige Gebrüll der Vögel


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Okt 28, 2006 02:04 
Offline
DGL Member

Registriert: So Aug 20, 2006 23:19
Beiträge: 564
Tatsaechlich! Der Fehler lag gar nicht bei mir! *heul* Es sind jetzt ausnahmslos ALLE Leaks weg ^^ ALLE!!!
Bitte mal auch die DGLSdk aendern


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Okt 28, 2006 09:20 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Jul 14, 2006 13:08
Beiträge: 117
Wohnort: Berlin
Schade :wink: , hatte mich schon auf eine fünfte Seite dieses Threads eingestellt :D

Nee, Spaß beiseite, freut mich, Dir nun doch endlich :roll: geholfen haben zu können.
Eine öffentliche Mitteilung an die 3 "Verwalter der DGLSDK" habe ich bereits ins Feedback geschrieben.

Gruß Uwe

_________________
Die 3 Totfeinde eines Programmierers ?
a) Tageslicht
b) frische Luft
c) ..und das ständige Gebrüll der Vögel


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Di Nov 14, 2006 18:08 
Offline
DGL Member

Registriert: Mo Nov 06, 2006 19:15
Beiträge: 172
Die fünfte Seite haha, niemals.
Ich wollte auch nur kurz Danke sagen für den Hinweis auf FastMM4. Den Machern gebührt der eigentliche Dank, aber da bin ich jetzt zu faul 'ne Email hinzuschreiben. Das Ding überwacht ja sogar Bereichsüberschreitungen und gibt einem Quellcode-Zeilen an. Das hat meine Erwartungen wirklich übertroffen. Das Teil kommt jetzt in jedes Programm bei mir! Nie wieder im Destroy ein .Free vergessen. Sprachen mit Garbage Collector können mir gstohlen bleiben. FastMM4 ist der heilige Gral der Memory Leak geplagten.


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 49 Beiträge ]  Gehe zu Seite Vorherige  1, 2, 3, 4
Foren-Übersicht » Programmierung » OpenGL


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast


Du darfst keine neuen Themen in diesem Forum erstellen.
Du darfst keine Antworten zu Themen in diesem Forum erstellen.
Du darfst deine Beiträge in diesem Forum nicht ändern.
Du darfst deine Beiträge in diesem Forum nicht löschen.
Du darfst keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 15 Queries | GZIP : On ]