rtl/sysutils/datih.inc:
+ add StrToDate overload which allows passing of specific TFormatSettings parameter
rtl/sysutils/dati.inc:
* implement new StrToDate overload by calling IntStrToDate similar to StrToTime
git-svn-id: trunk@25392 -
TFPGList<CodePointer> on archs/memory models where CodePointer is different
than Pointer. On archs/memory models where CodePointer = Pointer, TCodePtrList
is simply an alias of TList and the fgl unit isn't pulled in.
* the type of FindGlobalComponentList changed to TCodePtrList and the typecasts
from TFindGlobalComponent (procvar type) to Pointer changed to CodePointer.
This fixes compilation of unit classes in the i8086 medium memory model.
git-svn-id: trunk@25357 -
This patch implements collation'loading at runtime. This reduce the final executable' size as the collation's data are now externaly stored. Note that It requires the external collation files to be shipped and the program to load the collations it needs using the "LoadCollation"/"RegisterCollation" procedure(s).
The external collation files are produced by "cldrparser" (while producing the static files). The root collation "ducet" 's external file is produced by "unihelper".
It is important to note that these files are endian specific :
* collation_*_be.bco for big endian systems
* collation_*_le.bco for little endian system.
The root collation should at be registered, be it staticaly by using the "unicodeducet" unit or dynamicaly by making a call sush as RegisterCollation(<collation dir>,'ducet').
It is possible, in the same application, to make use of static and dynamic.
git-svn-id: trunk@25295 -
* Fix the crash of the Unicode Manager and "cldrparser". Tested on WinCE/ARM emulator (That does produce unaliged exception).
git-svn-id: trunk@25208 -
* typinfo.pp: the newly introduced records were added into {$PACKRECORDS 1} area of effect, which effectively made all records packed, entirely defeating FPC_REQUIRES_PROPER_ALIGNMENT purpose.
* added alignment between TProcedureParam records, adjusted TProcedureSignature.GetParam() appropriately.
* ncgrtti.pas: added two missing alignments and removed a redundant one.
* tests/test/trtti9.pp: modified to use TProcedureSignature.GetParam() and endian-independent check for parameter flags.
git-svn-id: trunk@24562 -
- TotalSize of all array dimensions instead of first dimension size
- Element type of last array dimension
- dimension information
rtl:
- adopt array initialization/finalization/copy for the new tkArray RTTI
- add Delphi compatible TArrayTypeData member for typinfo.TTypeData structure
tests:
- add a test which checks RTTI information for 2 dimension array
git-svn-id: trunk@24458 -
- write pint instead of 32 bit for record field offset (compiler uses aintsize = pint in TRecordDef), use PtrInt in RTL for record reading
- add tkRecord to TTypeData (field and type names are taken from Delphi help)
- add tkProcedure as alias to tkProcVar
git-svn-id: trunk@24424 -
Also adjusted all Windows (Win32/64/CE) units to define a "UNICODE" if "FPC_OS_UNICODE" is defined (except the Jedi units).
Also the common RTL units that checked for UNICODE now check for FPC_OS_UNICODE.
git-svn-id: trunk@24420 -
Note: The only RTL where this could lead to problems is for BeOS with the old threading implementation as this does not use "BeginThread" at all (the newer implementation does).
rtl/objpas/classes/classes.inc, TThread.Destroy:
* call "CloseThread" if the thread handle is valid (mimics the logic of the Windows RTL)
rtl/win/tthread.inc, TThread.SysDestroy:
* remove the call to "CloseHandle"; this is done by "CloseThread" afterwards
git-svn-id: trunk@24313 -