kako resiti Error!

kako resiti Error!

offline
  • jaffa 
  • Novi MyCity građanin
  • Pridružio: 29 Dec 2005
  • Poruke: 3

Imam 2 forme.Klik na button prve forme prikazuje mi drugu formu.kada se vratim opet na prvu formu,i ponovim istu operaciju generise se izuzetak:'access violation at address 00000000;read of address 00000000'.
Treba li da koristim varijablu IsMultiThread koju samo postavim na true,ili treba kreirati neki objekat u OnClick proceduri?
Kako da resim ovaj problem?



Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

Access Violation je najlepsa greska - odmah se zna sta je u pitanju.

MultiThred nemoj da diras, to nema veze. Ti pristupas formi koja ne postoji, tj koju si ubio, ako si je uopste i kreirao. Bitno je da u projektu iskljucis AutoCreate na formama (project options) tako da sam kontrolises sta se i kako dogadja.

Kako treba da se uradi (na tvoj klik - uslov da si iskljucio autocreate i da proveris da forma nije u listi za auto create)

znaci on button click

var   fm:TMojaForma begin  fm:=TMojaForma.Create(self);  try    fm.ShowModal;  finally    fm.free;  end; end;

Ovako nikad neces imati access violation.



offline
  • jaffa 
  • Novi MyCity građanin
  • Pridružio: 29 Dec 2005
  • Poruke: 3

Hvala puno!
samo jos jedno pitanje...da li uvek moram da unistim objekat klase?
Recimo kada uradim neku operaciju sa formom,pa je zatvorim,treba li da je unistim iako se opet kasnije referenciram na nju zbog izvršavanja operacije?

Pozdrav!

offline
  • Emil Beli
  • Pridružio: 03 Jan 2005
  • Poruke: 2990
  • Gde živiš: Beograd

Da i ne... ali definitivan odgovor je DA, zbog navike kod kreiranja drugih objekata koji nemaju OWNER.

zapamti ovaj code u malom mozgu i koristi ga kad i sanjas.
varijabla := Klasa.create; try ... ... finally   varijabla.free; end;

Inace, ako kreiras formu sa form.create(self) ili form.create(application), bice ubijena kada se oslobodi ono sta si preneo kao owner. Ali to nije dobro jer guta memoriju, tj ostaje zakljucana doklegod se aplikacije ne ugasi. znaci, uvek kako sam naveo malopre

Ko je trenutno na forumu
 

Ukupno su 598 korisnika na forumu :: 5 registrovanih, 1 sakriven i 592 gosta   ::   [ Administrator ] [ Supermoderator ] [ Moderator ] :: Detaljnije

Najviše korisnika na forumu ikad bilo je 3466 - dana 01 Jun 2021 17:07

Korisnici koji su trenutno na forumu:
Korisnici trenutno na forumu: cikadeda, havoc995, Marko Marković, Mixelotti, wolverined4