[ inherited @ 12.03.2007. 12:32 ] @
Imam MainForm i Form1. Prilikom dodavnja Form1 zaboravio sam je u ovom delu:
Code:

  Application.Initialize;
  Application.CreateForm(TMainForm, MainForm);
  Application.CreateForm(TForm1, Form1);
  Application.Run;

izbaciti, pa sad posto sam snimio kao takvo i iskompajlirao, kad izbacim:
Code:

  Application.CreateForm(TForm1, Form1);

prijavljuje se Access Violation?
Da li se to moze nekako ispraviti ili moram ostaviti taj red koda?
[ savkic @ 12.03.2007. 14:14 ] @
> prijavljuje se Access Violation?
> Da li se to moze nekako ispraviti ili moram ostaviti taj red koda?

AV obično znači da se koristi objekat koji nije inicijalizovan. Ako izbaciš red u kome se kreira Form1 a kasnije u programu koristiš Form1, dobićeš AV. Form1 ili kreiraj tek kada ti zatreba ili ako ti stalno treba, kreiraj je na početku programa.
[ inherited @ 12.03.2007. 17:20 ] @
Meni i ne treba da se forma kreira po otvaranju aplikacije nego samo kad je pozovem. Zato bi i da je izbacim odande, tako sam i odradio:
Code:
Form1:= TForm1.Create(nil);
Form1.ShowModal;

ali mi ne da.
[ savkic @ 12.03.2007. 18:17 ] @
Šta ti ne da? Ako doista koristiš ovaj kod koji si poslao i ponovo dobijaš AV onda koristiš nešto drugo što nije inicijalizovano.
[ vlaiv @ 14.03.2007. 14:29 ] @
U project/options/forms imas autocreate forms ...

Ubacis ili izbacis iz liste ...

sto se tice AccessViolation-a ... definitivno ne inicijalizovan objekt ...

Poteraj debugger i protrci kroz kod da vidis da li imas neke operacije sa Form1 pre nego sto se
izvrsi Form1:=TForm1.Create(nil);

U krajnjoj liniji vidi na kojoj liniji ti debbuger izbacuje AccessViolation Exception pa ce ti biti jasno zasto se to desava ...
[ Miloš Baić @ 14.03.2007. 17:01 ] @
Verovatno na liniji gde se prikazuje "AccessViolation Exception", u kodu si odradio:
Code:

 Form1.nesto

a da je nisi pre toga kreirao (inicijalizovao). Ako je izbrisana iz:
Code:

  Application.Initialize;
  Application.CreateForm(TMainForm, MainForm);
  Application.Run;

moras je kreirati pre negoli je pozoves. Npr.:
Code:

Form1:= TForm1.Create(nil);
Form1.nesto;
Form1.ShowModal;
[ inherited @ 14.03.2007. 18:03 ] @
Pozivao sam:
Code:

 Form1.ADOQuery1

a da nisam inicijalizovao pre toga Form1.

Hvala vam.