[fpc-devel] Problem with nested classes and types
Andrew Brunner
andrew.t.brunner at gmail.com
Sat Feb 5 03:00:39 CET 2011
I'm using the trunked FPC/Lazarus (just updated) and I have a problem
with nested types. Ubuntu x64 10.10
dbmVDM.pas
type
VDM=class
type
DB=class
const
stuff = 0;
// fields removed for simplicity even more subclasses
end;
end;
Resources=class
type
DB=class
const
stuff = 0;
end;
TResource=record // 79
foo:integer;
bar:string;
end;
PResource=^TResource; //80
end;
uXMPPd.pas
uses ... dbmVDM;
type // no nested classes
TClientSessionData=record
foo : string;
bar : integer;
Resource : dbmVDM.Resources.PResource; //(error *_DEF80) also fails
on just Resources.TResource (error *_DEF79)
end;
Project syntax looks good but fails on link.
//Developer/Source/Builds/SCS/Linux/64/Output/uXMPPd.o:(.data+0x1ccc):
undefined reference to `RTTI_DBMVDM_DEF79'
Service.lpr(15,1) Error: Error while linking
I had an identical problem a few days ago but reverted to using
generic Pointer and casting with no problems. I had a test case
outside my project but can't duplicate this problem at all. Seems
like linker can't find subclass type of dbmVDM.Resources.TResource.
Needing a fix so I can use my elaborate name-space system :-) Any
help would be greatly appreciated.
More information about the fpc-devel
mailing list