[fpc-pascal] Unexpected warning messages...

Gene Buckle geneb at deltasoft.com
Fri Oct 16 16:33:30 CEST 2026


I've started working with FPC again after a VERY long hiatus (like 15+ 
years!) and the application I'm working on uses TObjectCollection from 
the Generics.Collection unit.

When compiling I get the following warnings from generics.dictionaries 
and I was wondering why that is happening - I'd have thought that "base" 
units would always compile cleanly. I know I can filter them out in 
Lazarus, but I would rather not if it can be avoided on the assumption 
that warnings are warnings for a *reason*. :)

Thanks!

g.

generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcA343985C" with abstract method 
"DoMoveNext"
generics.collections.pas(121,14) Hint: Found abstract method: 
DoMoveNext(<TEnumerator$1$crc009C9A55>):Boolean;
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcA343985C" with abstract method 
"GetCurrent"
generics.dictionariesh.inc(119,14) Hint: Found abstract method: 
GetCurrent(<TCustomDictionaryEnumerator$4$crcA343985C>):TObject;
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcD6053DC4" with abstract method 
"DoMoveNext"
generics.collections.pas(121,14) Hint: Found abstract method: 
DoMoveNext(<TEnumerator$1$crc6824777A>):Boolean;
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcD6053DC4" with abstract method 
"GetCurrent"
generics.dictionariesh.inc(119,14) Hint: Found abstract method: 
GetCurrent(<TCustomDictionaryEnumerator$4$crcD6053DC4>;<var 
AnsiString>):AnsiString;
generics.collections.pas(144,52) Note: Private type 
"TCustomPointersEnumerator$2<SYSTEM.AnsiString,BBS_SESSION.TCustomList$1$crc6824777A.PT>.T" 
never used
generics.collections.pas(144,52) Note: Private type 
"TCustomPointersEnumerator$2<SYSTEM.TObject,BBS_SESSION.TCustomList$1$crc009C9A55.PT>.T" 
never used
generics.collections.pas(144,52) Note: Private type 
"TCustomPointersEnumerator$2<BBS_SESSION.TPair$2<SYSTEM.AnsiString,SYSTEM.TObject>,BBS_SESSION.TCustomList$1$crcBDF2BF71.PT>.T" 
never used
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcA343985C" with abstract method 
"DoMoveNext"
generics.collections.pas(121,14) Hint: Found abstract method: 
DoMoveNext(<TEnumerator$1$crc009C9A55>):Boolean;
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcA343985C" with abstract method 
"GetCurrent"
generics.dictionariesh.inc(119,14) Hint: Found abstract method: 
GetCurrent(<TCustomDictionaryEnumerator$4$crcA343985C>):TObject;
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcD6053DC4" with abstract method 
"DoMoveNext"
generics.collections.pas(121,14) Hint: Found abstract method: 
DoMoveNext(<TEnumerator$1$crc6824777A>):Boolean;
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcD6053DC4" with abstract method 
"GetCurrent"
generics.dictionariesh.inc(119,14) Hint: Found abstract method: 
GetCurrent(<TCustomDictionaryEnumerator$4$crcD6053DC4>;<var 
AnsiString>):AnsiString;
generics.collections.pas(144,52) Note: Private type 
"TCustomPointersEnumerator$2<SYSTEM.AnsiString,TELNETHOST.TCustomList$1$crc6824777A.PT>.T" 
never used
generics.collections.pas(144,52) Note: Private type 
"TCustomPointersEnumerator$2<SYSTEM.TObject,TELNETHOST.TCustomList$1$crc009C9A55.PT>.T" 
never used
generics.collections.pas(144,52) Note: Private type 
"TCustomPointersEnumerator$2<TELNETHOST.TPair$2<SYSTEM.AnsiString,SYSTEM.TObject>,TELNETHOST.TCustomList$1$crc68ACD26F.PT>.T" 
never used
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcA343985C" with abstract method 
"DoMoveNext"
generics.collections.pas(121,14) Hint: Found abstract method: 
DoMoveNext(<TEnumerator$1$crc009C9A55>):Boolean;
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcA343985C" with abstract method 
"GetCurrent"
generics.dictionariesh.inc(119,14) Hint: Found abstract method: 
GetCurrent(<TCustomDictionaryEnumerator$4$crcA343985C>):TObject;
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcD6053DC4" with abstract method 
"DoMoveNext"
generics.collections.pas(121,14) Hint: Found abstract method: 
DoMoveNext(<TEnumerator$1$crc6824777A>):Boolean;
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcD6053DC4" with abstract method 
"GetCurrent"
generics.dictionariesh.inc(119,14) Hint: Found abstract method: 
GetCurrent(<TCustomDictionaryEnumerator$4$crcD6053DC4>;<var 
AnsiString>):AnsiString;
generics.collections.pas(144,52) Note: Private type 
"TCustomPointersEnumerator$2<SYSTEM.AnsiString,SSHHOST.TCustomList$1$crc6824777A.PT>.T" 
never used
generics.collections.pas(144,52) Note: Private type 
"TCustomPointersEnumerator$2<SYSTEM.TObject,SSHHOST.TCustomList$1$crc009C9A55.PT>.T" 
never used
generics.collections.pas(144,52) Note: Private type 
"TCustomPointersEnumerator$2<SSHHOST.TPair$2<SYSTEM.AnsiString,SYSTEM.TObject>,SSHHOST.TCustomList$1$crc7C7C60B1.PT>.T" 
never used
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcA343985C" with abstract method 
"DoMoveNext"
generics.collections.pas(121,14) Hint: Found abstract method: 
DoMoveNext(<TEnumerator$1$crc009C9A55>):Boolean;
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcA343985C" with abstract method 
"GetCurrent"
generics.dictionariesh.inc(119,14) Hint: Found abstract method: 
GetCurrent(<TCustomDictionaryEnumerator$4$crcA343985C>):TObject;
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcD6053DC4" with abstract method 
"DoMoveNext"
generics.collections.pas(121,14) Hint: Found abstract method: 
DoMoveNext(<TEnumerator$1$crc6824777A>):Boolean;
generics.dictionaries.inc(191,92) Warning: Constructing a class 
"TCustomDictionaryEnumerator$4$crcD6053DC4" with abstract method 
"GetCurrent"
generics.dictionariesh.inc(119,14) Hint: Found abstract method: 
GetCurrent(<TCustomDictionaryEnumerator$4$crcD6053DC4>;<var 
AnsiString>):AnsiString;
generics.collections.pas(144,52) Note: Private type 
"TCustomPointersEnumerator$2<SYSTEM.AnsiString,BBS_MAIN.TCustomList$1$crc6824777A.PT>.T" 
never used
generics.collections.pas(144,52) Note: Private type 
"TCustomPointersEnumerator$2<SYSTEM.TObject,BBS_MAIN.TCustomList$1$crc009C9A55.PT>.T" 
never used
generics.collections.pas(144,52) Note: Private type 
"TCustomPointersEnumerator$2<BBS_MAIN.TPair$2<SYSTEM.AnsiString,SYSTEM.TObject>,BBS_MAIN.TCustomList$1$crcE0B4E8C7.PT>.T" 
never used

-- 
Proud owner of F-15C 80-0007
http://www.f15sim.com - The only one of its kind.
http://www.diy-cockpits.org/coll - Go Collimated or Go Home.

I'm not crazy, I'm plausibly off-nominal!

ScarletDME - The red hot Data Management Environment
A Multi-Value database for the masses, not the classes.
https://github.com/geneb/ScarletDME - Get it _today_!



More information about the fpc-pascal mailing list