>-- Messaggio Originale -- >From: Jonas Maebe <[EMAIL PROTECTED]> >Subject: Re: [fpc-pascal] Migrating MW objects definitions >Date: Thu, 6 Oct 2005 15:01:56 +0200 >To: FPC-Pascal users discussions <fpc-pascal@lists.freepascal.org> >Reply-To: FPC-Pascal users discussions <fpc-pascal@lists.freepascal.org> > > > >On 6 okt 2005, at 14:40, [EMAIL PROTECTED] wrote: > >> I'm trying to migrate MW OO code to FPC. I'm in trouble with this >> piece of >> MW code: >> >> type >> myObjectA = object >> ..... >> lObj: myObjectB; >> ... >> end; >> >> type >> myObjectB = object >> ... >> lObj: myObjectA >> ... >> end; >> >> Essentially when the compiler tries to deal with myObjectA, it says >> that >> 'myObjectB is not defined'. >> >> Am I doing something wrong, or is it something not supported by FPC? > >You have to use a forward declaration: > >type > MyObjectB = object; > > myObjectA = object > ..... > lObj: myObjectB; > ... > end; > > myObjectB = object > ... > lObj: myObjectA > ... > end; > >Notes: > >a) forward declaration of MacPascal-style objects was not supported >in our initial implementation due to a bug >b) the forward declaration and the full declaration of a type must be >present in the same type-block (which is not the case in your example >above, even if you would add a forward declaration, since there you >start a new type-block for each declaration) > > >Jonas
Got the point, but there's still something wrong as I've tried the following code but the parser claims for an identifier instead ';' at the third line: (I'm using FPC 2.0.0: could it matter?) program TestObjects; type myObjectB = object; myObjectA = object index: longint; lObj: myObjectB; procedure SayHello; end; myObjectB = object index: longint; lObj: myObjectA; procedure SayHello; end; ........ francesco _______________________________________________ >fpc-pascal maillist - fpc-pascal@lists.freepascal.org >http://lists.freepascal.org/mailman/listinfo/fpc-pascal __________________________________________________________________ TISCALI ADSL Solo con Tiscali Adsl navighi senza limiti e telefoni senza canone Telecom a partire da 19,95 Euro/mese. Attivala subito, I PRIMI DUE MESI SONO GRATIS! CLICCA QUI: http://abbonati.tiscali.it/adsl/sa/1e25flat_tc/ _______________________________________________ fpc-pascal maillist - fpc-pascal@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-pascal