[fpc-devel] Type definition

Paul Davidson pdavidson at coraxnetworks.com
Sat Mar 4 18:57:41 CET 2006

unit aUnit;
		aType = ( at_First, at_aaa, at_bbb, at_Last );

		aObj = class
			aVar : aType

unit bUnit;
	uses aUnit;
		bObj = class( aObj )

unit cUnit
	uses bUnit;
		cObj = class( bObj )
	aVar := at_Last;   <----------- ERROR!

The implementation of cUnit requires a USE aUnit; in order to compile 
since at_last is no longer visible.

On Mar 4, 2006, at 12:49, Micha Nelissen wrote:

> On Sat, 4 Mar 2006 10:24:14 -0500
> Paul Davidson <pdavidson at coraxnetworks.com> wrote:
>> Quite often a type is defined in INTERFACE part, but only used within
>> class/object defined in same unit.
>> 1)  This means that type is public.  This is not always good thing in
>> OOese.
>> 2)  Unit must be specified in child's child's USE list.
> Can you elaborate on the second point ?
> Micha
> _______________________________________________
> fpc-devel maillist  -  fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel
P Davidson
Corax Networks Inc.

IMPORTANT NOTICE:  This message is intended only for the use of the 
individual or entity to which it is addressed. The message may contain 
information that is privileged, confidential and exempt from disclosure 
under applicable law.  If the reader of this message is not the 
intended recipient, or the employee or agent responsible for delivering 
the message to the intended recipient, you are notified that any 
dissemination, distribution or copying of this communication is 
strictly prohibited.  If you have received this communication in error, 
please notify Corax Networks immediately by email at 
webmaster at coraxnetworks.com.  Thank you.

More information about the fpc-devel mailing list