+ generic implementation of list and map; adapt TList/TStringList to use it

git-svn-id: trunk@5624 -
This commit is contained in:
micha 2006-12-17 15:52:42 +00:00
parent 532b4cca28
commit b1c1b6fd3d
8 changed files with 1817 additions and 362 deletions

File diff suppressed because it is too large Load Diff

View File

@ -16,7 +16,7 @@ units=$(SYSTEMUNIT) $(SYSINIT_UNITS) \
charset ucomplex getopts \
errors sockets gpm ipc serial terminfo dl dynlibs \
video mouse keyboard variants types dateutils sysconst fmtbcd \
cthreads classes convutils stdconvs strutils rtlconsts dos objects cwstring fpcylix
cthreads classes fgl convutils stdconvs strutils rtlconsts dos objects cwstring fpcylix
rsts=math varutils typinfo variants sysconst rtlconsts stdconvs
@ -44,7 +44,7 @@ libunits=$(SYSTEMUNIT) objpas strings dos \
sysutils typinfo math \
$(CPU_UNITS) getopts \
errors sockets varutils \
classes variants sysconst rtlconsts \
classes fgl variants sysconst rtlconsts \
[prerules]
RTL=..
@ -189,7 +189,7 @@ sysutils$(PPUEXT) : $(UNIXINC)/sysutils.pp $(wildcard $(OBJPASDIR)/sysutils/*.in
$(COMPILER) -Fi$(OBJPASDIR)/sysutils $(UNIXINC)/sysutils.pp
classes$(PPUEXT) : $(UNIXINC)/classes.pp $(wildcard $(OBJPASDIR)/classes/*.inc) \
sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT)
sysutils$(PPUEXT) typinfo$(PPUEXT) rtlconsts$(PPUEXT) fgl$(PPUEXT)
$(COMPILER) -Fi$(OBJPASDIR)/classes $(UNIXINC)/classes.pp
typinfo$(PPUEXT): $(OBJPASDIR)/typinfo.pp objpas$(PPUEXT) sysutils$(PPUEXT) rtlconsts$(PPUEXT)
@ -211,6 +211,9 @@ variants$(PPUEXT) : $(INC)/variants.pp sysutils$(PPUEXT) sysconst$(PPUEXT) varut
fmtbcd$(PPUEXT) : $(OBJPASDIR)/fmtbcd.pp objpas$(PPUEXT) sysutils$(PPUEXT) variants$(PPUEXT) classes$(PPUEXT) system$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/fmtbcd.pp
fgl$(PPUEXT) : $(OBJPASDIR)/fgl.pp objpas$(PPUEXT) types$(PPUEXT) system$(PPUEXT) sysutils$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/fgl.pp
types$(PPUEXT) : $(OBJPASDIR)/types.pp objpas$(PPUEXT) $(SYSTEMUNIT)$(PPUEXT)
$(COMPILER) $(OBJPASDIR)/types.pp

File diff suppressed because it is too large Load Diff

View File

@ -178,6 +178,7 @@ ResourceString
SListCapacityError = 'List capacity (%d) exceeded.';
SListCountError = 'List count (%d) out of bounds.';
SListIndexError = 'List index (%d) out of bounds';
SListItemSizeError = 'Incompatible item size in source list';
SMaskEditErr = 'Invalid mask input value. Use escape key to abandon changes';
SMaskErr = 'Invalid mask input value';
SMDIChildNotVisible = 'A MDI-Child Window can not be hidden.';

View File

@ -105,6 +105,8 @@ type
end;
PSmallPoint = ^TSmallPoint;
TDuplicates = (dupIgnore, dupAccept, dupError);
type
TOleChar = WideChar;
POleStr = PWideChar;
@ -226,6 +228,9 @@ type
STATSTG = TStatStg;
PStatStg = ^TStatStg;
TListCallback = procedure(data,arg:pointer) of object;
TListStaticCallback = procedure(data,arg:pointer);
IClassFactory = Interface(IUnknown) ['{00000001-0000-0000-C000-000000000046}']
Function CreateInstance(Const unkOuter : IUnknown;Const riid : TGUID;Out vObject) : HResult;StdCall;
Function LockServer(fLock : LongBool) : HResult;StdCall;

View File

@ -28,6 +28,7 @@ uses
sysutils,
types,
typinfo,
fgl,
rtlconsts;
{$i classesh.inc}

View File

@ -24,8 +24,10 @@ program h2pas;
****************************************************************************)
{$message TODO: warning Unit types is only needed due to issue 7910}
uses
SysUtils,classes,
SysUtils,classes,types,
options,scan,converu,lexlib,yacclib;
type

View File

@ -20,8 +20,10 @@ program h2pas;
****************************************************************************)
{$message TODO: warning Unit types is only needed due to issue 7910}
uses
SysUtils,classes,
SysUtils,classes,types,
options,scan,converu,lexlib,yacclib;
type