EAccessViolation je greska koja se javlja kada neki pointer pokusa da pristupi delu memorije koji nije prethodno rezervisan za taj proces. Kao kad napravis dinamicku matricu od 100 clanova, pa probas da pristupis 101.-om, mada to zna ponekad i da prodje...
Ne znam da li znas ali moje je da kazem:
Pri radu sa klasama u Delphi-u, ti ne radis zapravo sa instancama klasi nego sa pokazivacima na njih. Delphi to organizuje nevidljivo za tebe, sto znaci...
Code:
var
APawn: TPawn;
Ovde je APawn pokazivac na instancu TPawn-a (koji se zove APawn)!
Prema tome, nemas potrebu za PT*** varijablama.
Posto ti je myGame tipa PTGame ne mozes koristiti mygame.***, probaj sa mygame^.****, mada nisam nikad ovo radio i ne znam da li postoji.
E sad, U OBICNOM PASCALU mora da se radi onako kako si ti to organizovao jer kod njega su instance zapravo instance a ne pokazivaci, ali zato paskal moze funkcijama da prosledjuje samo standardne tipove podataka + pokazivace, a Delphi moze da prosledjuje sve zato sto prosledjuje pokazivace (po referenci) a ne cele klase (po instanci)...
Mozda si prethodno koristio obican Pascal ili C pa si navikao tako, jer to je karakteristicna Pascal struktura (to sa T**** i P****)...
To bi bilo to ako sam dobro svtio tvoj problem
I za svaki slucaj da znas da svaka klasa ima ugradjeni pointer Self koji oznacava trenutnu instancu te klase, mozda ti zatreba da ne bi vracao klasi pokazivac na nju posle konstrukcije...