Witajcie,
Mam taki oto problem nad którym już zastanawiam się od dłuższego czasu.
Jest taka klasa:
TxxxClass = class
private
FObiekt: TxxxxxCokolwiek;
public
constructor Create;
end;
W creacie tworzymy FObiekt, destruktora nie ma, to celowe.
Klasa TxxxClass tworzona jest tylko i wyłącznie jeden raz w ciągu życia aplikacji (coś ala singleton, choć nie do końca), czyli w trakcie działania aplikacji wycieków nie ma, bo obiekt raz utworzony nadal istnieje i żyje.
I teraz pytanie.
Przy zamknięciu aplikacji gdy wywołam TxxxClass.Free to FObiekt nie zostanie zwolniony. Czy to ma jakiś negatywny wpływ na system (Windows)? Czy to jest tak że pomimo że ten obiekt istnieje wycieku nie ma bo aplikacja działa w jakimś tam obszarze pamięci który zostaje w całości "zaorany" po aplikacji po jej zamknięciu i nie ma się czym przejmować?
Nie twierdzę że ten sposób postępowania jest OK ale mam mały zakład pomiędzy dwoma programistami o kratę browaru ....