Citat:
savkic: > problem je slijedeći: dinamički se kreiraju TButton kontrole i dodjeljuju im se OnClick eventi. Problem nastaje kada treba TButton osloboditi.
> Ne uspijeva sa niti jednim
> TButton.Free;
> FreeAndNil(TButton);
Da li ti je ovo greška u kucanju, ovo ne radi ništa. Treba ti nešto poput btnOK.Free.
> tj. malo radi, malo ne, nakon par kreiranja/uništavanja javlja se memory leak.
Kako to testiraš i da li ti prijavljuje baš za buttone ili neke druge stvari?
> Zanimljivo je da se taj problem ne događa sa buttonima koji nemaju opciju fokusiranja.
Šta znači opcija fokusiranja, kako se ta dugmad razlikuju od ostalih?
Naravno, greška u kucanju. Button1.Free i FreeAndNil(Button1) npr.
Ne znam za šta prijavljuje, u to problem, dobijem AccessViolation err ili Abstract err. Buttoni se kreiraju na MainForm.OnShow, za svaki element u mainMenu se kreira button i procedura OnClick.
Npr. SpeedButton nema opciju da može primiti fokus (npr da možemo sa tabom doći do njega), i sa tim buttonima radi sve ok. Ako se SpeedButtoni zamijene sa TButton-ima, javlja se taj leak u petlji gdje se radi Button.Free
Dakle, u kodu se ništa ne mijenja, samo se zamijeni TSpeedButton sa TButton.
Hvala savkic na odgovoru, sutra ču ti pokušati poslati primjer koda.