Einzelnen Beitrag anzeigen

Jake1

Registriert seit: 19. Mär 2007
3 Beiträge
 
#1

wechselseitige kennt beziehung (forward deklaration)

  Alt 19. Mär 2007, 15:04
hallo bin gerad dabei pacman nachzuprogrammieren hab jedoch nen fehler dirn den ich komischerweise nicht rausbekomme! und zwar gehts darum das ein objekt ein anderes kennen muss und umgekehrt!
ich bekomme immer in der unit upacman den fehler, dass tmonster nicht vollständig definiert ist!!!
hier der quellcode für alles

Delphi-Quellcode:
Hauptunit:

interface

uses upacman,umonster;

...

    pacman:tpacman;
    monster:tmonster;

....

 pacman:=tpacman.create(fspielfeld);
 monster:=tmonster.create(fspielfeld);
 if monster<>nil
  then
   begin
    pacman.kennt(monster);
    monster.kennt(pacman);
   end;
 if pacman<>nil
  then
   begin
    monster.kennt(pacman);
    pacman.kennt(monster);
   end;
...
end.

Pacmanunit(upacman)

type tmonster=class; //HIER TRITT DER FEHLER AUF
     TPacman=class(TObject)

    private
     kmonster:tmonster;

...
procedure TPacman.kennt(monster: tmonster);
begin
 kmonster:=monster;
end;
...
end.

Monsterunit(umonster)

uses upacman;

type tmonster=class(tobject)

      kpacman:tpacman;

...
procedure tmonster.kennt(pacman: tpacman);
begin
 kpacman:=pacman;
end;
...
end.
vielleicht erkennt ja einer von euch den fehler!
  Mit Zitat antworten Zitat