Šta je novo?

TBitMap.Free u Delphi6 ?

HanSolo

Čuven
Učlanjen(a)
01.12.2002
Poruke
6
Poena
601
TBItMap.Free metod izaziva runtime error kada pokusam da ubijem sliku koju sam napravio sa slika:=TBitMap.Create. Nekada prodje lepo a nekada ne. Mislim da ima nekakve veze sa tim da li sam u tu sliku prethodno kopirao neku drugu, ali ne mogu da budem siguran.
'Jel neko imao ovaj problem? Kako se resava?
 
Ne radim u deplhiju ,ali
ako si tu sliku dodelio nekom objektu nemozesh da je kilujesh
dok na objektu ne stavish NULL tj. ne skinesh je sa objekta.
(objekt.slika = NULL)
Ovako je u c++-u.

Proveri dali si kopirao stvarno ili si samo dodelio po adresi.
 
Zavisi sta si radio sa tim bitmap objektom. Generalno redosled je sledeci:

1. proveris da li objekat "postoji" ili je vec ubijen: "if Slika <> nil" ili "if Assigned(Slika)"

2. ukoliko si njenim eventovima dodelio neke event-handlere, prvo njih otkaci; npr. "Slika.OnChange := nil;"

3. Na kraju ga ubijes; moze npr i sa "FreeAndNil(Slika);"



Ovo naravno ako je objekat nekog privremenog karaktera, te mu je i owner=nil. Ukoliko je to objekat koji ima zivotni ciklus od pocetka do kraja programa, ne moras explicitno da ga ubijas - ukoliko mu je owner non-nil vrednost, kaskadno ce se 'ubiti' kada se taj owner objekat bude unistavao.
 
Nazad
Vrh Dno