Nimm bei Klassen
FreeAndNil
das passt dann immer
Leider nicht. Gerade zur Laufzeit erstellte Komponenten erhalten so viele Referenzen, dass ARC das nicht mehr mitbekommt. Dort ist dann
Release zu verwenden.
Für Komponenten sollte man schon immer Release verwenden (habe ich aber erst bei einer Schulung von Deveperts gelernt)
Damit wird auch die Ereignissbehandlung richtig geschlossen!
Da habe ich bei einen Delphi 5 Projekt nun keine Schutzverletzung aus heiterem Himmel mehr beim Beenden des Programms!
Zu den Stringbehandlungen kann ich folgenden Tipp geben:
Delphi-Quellcode:
x: string;
…
{$IFDEF NEXTGEN}
for i:= 0 to Length(x)-1 do begin
{$ELSE}
for i:= 1 to Length(x) do begin
{$ENDIF}