[ popmilan76 @ 12.09.2018. 09:58 ] @
Pojavljuje mi ovu gresku,i to na delovima gde je pre radilo dobro,sad odskora nece,greska je nesto ovako:

access violation at adress 00000 read of adress 000000

sad ne znam koliko nula ima,s tim sto neki put ove prve nulke nisu nule nego nesto drugo 00451f....

I gresku mi izbacuje na delu form1.showmodal...Gde bih mogao traziti gresku...
[ savkic @ 12.09.2018. 12:04 ] @
AV greska obicno znaci pristup memoriji koja nije alocirana. Ako ti se javlja na frm.ShowModal proveri da li je frm kreirana, ako jeste onda sta se kreira u toj formi (FormOnCreate, FormOnShow itd)
[ popmilan76 @ 12.09.2018. 20:25 ] @
Formu sam napravio,i ta forma koja se otvara ima svoj onactivate,koji iskljucim iz ove forme,znaci kada kliknem doble na dbgrid pojavi mi se ta forma,sa svim podacima koji treba da budu,ali kada kliknem na neko dugme , recimo da ga izbrisem ,taj nalog,ono izbaci ovu gresku...Evo koda iz dbgrida

FrmUnosPrijemnice := TFRmUnosPrijemnice.Create(nil);
try

brojnaloga1 := strtoint(dbgrid1.Fields[0].AsString);
frmunosprijemnice.OnActivate := nil;

frmunosprijemnice.AdoQuery1.Connection := FrmGlavna.ADOConnection1;
frmunosprijemnice.AdoQuery2.Connection := FrmGlavna.ADOConnection1;
frmunosprijemnice.AdoQuery3.Connection := FrmGlavna.ADOConnection1;
frmunosprijemnice.AdoQuery4.Connection := FrmGlavna.ADOConnection1;
frmunosprijemnice.AdoQuery5.Connection := FrmGlavna.ADOConnection1;
frmunosprijemnice.AdoQuery6.Connection := FrmGlavna.ADOConnection1;
frmunosprijemnice.AdoQuery7.Connection := FrmGlavna.ADOConnection1;
frmunosprijemnice.Adotable1.Connection := FrmGlavna.ADOConnection1;
frmunosprijemnice.Adotable2.Connection := FrmGlavna.ADOConnection1;
FrmUnosPrijemnice.brojnaloga := brojnaloga1;
frmunosprijemnice.Edit1.Text := inttostr(frmunosprijemnice.brojnaloga);

PostMessage(frmunosprijemnice.edit1.Handle, WM_KEYDOWN, Ord(#13), 0);
FrmUnosPrijemnice.Showmodal ;

finally
frmunosprijemnice.Free;

end;
end;


[ savkic @ 12.09.2018. 20:42 ] @
Nisi napisao gde nastaje greska. U svakom slucaju to mozes lako sam otkriti, pusti program kroz debugger i videces gde puca onda stavi breakpoint na tu liniju i ispitaj rucno sve promenljive, uglavnom je dovoljno da drzis misa iznad.
[ popmilan76 @ 12.09.2018. 20:53 ] @
Probacu gresku prikazuje na frmunosprijemnice.showmodal;
[ popmilan76 @ 12.09.2018. 21:09 ] @
Kroz debuger ,prijavi gresku na frmunosprijemnice.showmodal,i kada stavim misem na ovaj red,izlazi frmunosprijemnice = accessibale value;
[ popmilan76 @ 12.09.2018. 22:00 ] @
Kada ulazim u tu formu,da mi prikaže novi nalog,sve radi kako treba,i kada u poslu edit,taj novi zamenim sa nekim drugim brojem naloga i pritisnem enter,on prikaze sve podatke kako treba,i sva dugmad rade normalno,ali kada ulazim iz drug forme pomocu dbgriddblclick,on sve to prikaze ali mi neka dugmad ne rade...Možda sam i ja loše napisao ovaj kod,a u stvari hocu kada kliknem na red u dbgridu,da mi prebaci taj broj u drugu formu,tj njegov edit,i da mi posle tog upisa broja nalog ,i udari enter,kako bi prikazao sve sta treba da prikaže...
[ popmilan76 @ 12.09.2018. 22:01 ] @
Inače,enter sam postavio kao keypress tog edita...
[ savkic @ 12.09.2018. 22:55 ] @
> Probacu gresku prikazuje na frmunosprijemnice.showmodal;

Ako ti se prikaze forma onda tu nije greska.

Uradi rebuild ali prethodno ukljuci use debug .dcu, i dobices break na tacno mesto gde je doslo do greske. To ce verovatno biti neki od Delphi VCL fajlova, ali zato imas call stack (Ctrl + F3) da vidis odakle iz tvog koda je doslo dotle. U svakom slucaju debugger je jedini nacin da to izanaliziras i pronadjes gresku.
[ popmilan76 @ 13.09.2018. 15:42 ] @
Ovako,kada sam postavio ovaj debug.dcu i isao na break,u call stack mi prikazuje gresku na dbgrid1dblclick,mada i dalje ne znam gde gresim...
[ popmilan76 @ 13.09.2018. 16:20 ] @
Uspeo sam da uvidim gresku,ali sam sam isao red po red,i jedno dugme sam uspeo da sredim,pa cu videti i ovo drugo...Tako je kad se brza,i ne pogleda,pa se iskopira sa drugog mesta...Postavio sam na kraju dugmeta foractivate , koji ne postoji kada se pristupa sa drugog mesta.