[SE] err 72 procedure must be bound to a record of the same
Posted: Tue Feb 24, 2009 5:36 pm
Hoi allen,
Om te zien of al mijn gegevens bij de ParseInfoConsumer wel goed opgeslagen worden in mijn stationlijst en tramlijst, heb ik een testprocedure geschreven in mijn module XMLInlezen.Mod.
Om een vreemde reden kan ik de node niet uitprinten via polymorfisme. Het lukt wel als ik gebruik maak van TypeTest/TypeGuard en het volgende schrijf:
Wanneer ik het wil doen via polymorfisme (zie onderaan) krijg ik steeds volgende error "err 72 procedure must be bound to a record of the same scope" en zegt de de error zit bij de (node : MetroParseInfoConsumer.Station).
Kan er iemand verklaren hoe die komt? Ik zou graag gebruik maken van dat polymorfisme want dat lijkt me wel handiger dan telkens die typetest/typeguard te moeten schrijven .
Groet,
Glenn
Om te zien of al mijn gegevens bij de ParseInfoConsumer wel goed opgeslagen worden in mijn stationlijst en tramlijst, heb ik een testprocedure geschreven in mijn module XMLInlezen.Mod.
Om een vreemde reden kan ik de node niet uitprinten via polymorfisme. Het lukt wel als ik gebruik maak van TypeTest/TypeGuard en het volgende schrijf:
Code: Select all
IF (node IS MetroParseInfoConsumer.Station) THEN (* voorlopig maar even uitgeprint via TypeTest/TypeGuard *)
OutExt.String(node(MetroParseInfoConsumer.Station)^.naam);
END;
Wanneer ik het wil doen via polymorfisme (zie onderaan) krijg ik steeds volgende error "err 72 procedure must be bound to a record of the same scope" en zegt de de error zit bij de (node : MetroParseInfoConsumer.Station).
Code: Select all
PROCEDURE Test*;
VAR
file : StringTypes.SimpleTypeString;
node : OOLijst.ElementNode;
BEGIN
file := "GoodFile.txt";
LeesIn(file);
OutExt.String("Hij gaat nu de eerste Node halen uit de stationlijst en het veld naam van deze node uitprinten");
OutExt.Ln;
OutExt.String("De naam van het eerste station is dus : ");
node := MetroParseInfoConsumer.stationlijst^.GetNode(1);
node^.Print;
END Test;
PROCEDURE (node : MetroParseInfoConsumer.Station) Print*();
BEGIN
OutExt.String(node^.naam);
END Print;
Groet,
Glenn