Paar Tips noch:
- Wo ein Create, da auch ein Free. Das ist ein Muß. Wenn du also ein Create anwendest, dann mußt du diese Variable auch mit Free freigeben. Objekte sind nicht wie normale Variablen. Der Speicherplatz wird nicht automatisch beim beenden der Prozedur oder Programms wieder freigegeben.
- Wo ein Create, da auch ein try..finally. Das ist jetzt kein Muß wie mit Free, aber bei einem Fehler wird eventuell Free nicht ausgeführt. Deshalb muß du es mit Finally erzwingen.
Hier ein Beispielcode vie man es machen sollte:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| var sl: TStringList; begin sl := TStringList.Create; try //... mach was finally sl.Free; end; end; |
Das ist das Minimum beim Arbeiten mit Objekten.
Noch ein kleiner Tip zum Schluß. Tippe das Wort
try in Delph ein und Drücke dann gleichzeitig
STRG + J. Es öffnet sich ein kleines Fenster in dem du etwas auswählen kannst. Gleich an der ersten Stelle findest du den Schutzblock für Objekt-Variablen. Einfach bestätigen und das kommt raus:
Quelltext
1: 2: 3: 4: 5: 6:
| variable := typename.Create; try
finally variable.Free; end; |
Jetzt braucht man nur noch variable und typename ersetzen und schon hat man nichts vergessen.