29. oktober 2002 - 11:50Der er
2 kommentarer og 2 løsninger
abstract...
Jeg skal lige bruge lidt viden vedr. is og as i delphi med abstrakte klasser..
jeg har 3 klasser, TDeltager, THold og TPerson - hvor TDeltager er abstrakt.
Et THold indeholder en eller flere TPersoner i array eller lign.
I et andet objekt skal jeg så have mulighed for at arbejde med en deltager, uanset om der ligger et hold eller en person bagved.
Jeg forstiller mig at det er noget lign. det nedenfor, men har endnu ikke fået det til at virke. Nogle der kan fortælle mig hvordan det virker, for jeg har nok taget fejl et eller andet sted.
(Det skal lige nævnes at Deltager så er kommet med ind i proceduren, værende enten en person eller et hold)
var Deltager : TDeltager; begin *arbejd med (en eller flere Deltager) f.eks. fordele disse i puljer eller turneringen* if (Deltager is THold) then begin *arbejd med (Deltager as THold)* end else begin *arbejd med (Deltager as TPerson)* end; end;
var Deltager : TDeltager; begin //arbejd med (en eller flere Deltager) f.eks. fordele disse i puljer eller turneringen* if (Deltager is THold) then begin with Deltager as THold do begin //arbejd med deltager som et hold end; end else begin with Deltager as TPerson do begin //arbejd med deltager som person. end; end; end;
ahm, du har ikke rigtigt sagt noget i det svar, andet end with do, har du ?
Men jeg fandt selv ud af min fejl, den lå i erklæringen af klasserne, hvor jeg åbenbart havde lavet en fejl. Da jeg lavede dem om virkede det anyway som jeg havde håbet. Lidt kvaj af mig at jeg ikke skrev dem med herinde åbenbart :)
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.