bash danas mi se kolega pozalio na nesto slicno (bar mi se cini) sa temom..
elem, ima formu, koji kreira i prikazuje runtime, znaci klasika kod:
Code:
var
....f: tNekaForma;
begin
....f:=tNekaForma.Create(nil);
....f.ShowModal;
....FreeAndNil(f);
end;
e sad. problem nastaje kada na formi postoji dugme koje jednostavno poziva Close() metodu, ili ako se u eventu za to isto dugme postavi ModalResult na bilo sta, i time zatvori forma (posto je prikazana sa ShowModal())..
e sad, ako se forma zatvori na bilo koji od dva opisana nacina (close() i modalresult) ponekad delphi javi nesto vrlo cudno, (valjda) Abstract Error, ili neki Ilegal Instruction ili nesto slicno prilicno nedefinisano...
i to ne bi bilo toliko cudno (rekao bih prosto, covek ima bug negde..) da sve ne radi savrseno ako se forma zatvara klikom na ono X dugmence u gornjem desnom uglu...
ima li neko neko objasnjene za ovakvo ponasanje?
btw, jel zna neko precizno da objasni razliku u kreiranju forme runtime na nacin koji sam ja opisao, i koristeci Application.CreateForm(...)?
pretpostavljam da je u drugom slucaju objekat Application vlasnik novokreirane forme, i da je on odgovoran da je oslobodi.. da ili ne? a ako jeste, kako da ja oslobodim kada mi vise ne treba (da ustedim memoriju) a da to ne pravi probleme sa application objektom? (pitanje cisto teoretski, nije mi pravilo probleme do sada, cisto me ovo podsetilo da pitam nesto sto ne razumem bas skroz..)