Description: classes unit

This file as text.
(active) Revisions in this set:
e8dc54c768639c9c99b599850e8b2eee67a4ad37,63f9afa6bd0fb9741e951166239717f2727a2875,819752c334f6784a55b1ce151a8a0e11ccf87c7e
60efc9e81c1624e3d206082cdd0a658e45f22ba4,58f1a8513b9c748e7c9bb752bfd70eff22c0a36c,fdccb0d62fc1145356a31c16d8e340d6f4130ae5
dc592a888fd69ab284ed8996f18733bdbefe68fc,e4385d1b194ba1704a6e361f7f07cf5cc29eafdb,91ba1214d262265c80898e16748a68fad3875694
c6d8bd73f7343b8fa6ae514e6187786542468b4c,38cde3817754458936db1662687ae37498500da5,e99c9ddd7522d2d07c1bf4f736ea33aa0d0bba55
e27ea76b8887c6d4c597054edf5beddc40100867,042eb7e8c196b6a0c8f6016af9985b8b3062703b,7097a1030f0df9196a2b9d9142f5c1b6827522e4
d23fa5a87f000e16f8687e83e68a4fe58e6b4c24,68db04d89e0ebeb32317a39769b7312e2bd30c2d,c1f39603889e52ffc0eb9a392ff9b4f8b093de74
ea4768456f894c4b9dfb65a5dc5a0c04d0ea4791,ec65ed9e648c08ad1b5f461abb6b96cb2630005b,fdea66d2171915c3b3ec135bf391a442c9e3169b
b2b2606e36f0c4e4d9b24b85cacfff4d82be019f,e774a6275c99cf57f11a046de42b59d35364f270,1eca53a681301256bbf41d4bd551e55fdb91a480
e8546a9e41f471041c0c7dd89302d567eb9a2670,36a2835f8c95290fbd3002700726d4bfb2ac006c,e4ebf46df3e1139215ca5cd6f7bc64f6e2f9f50c
094f8a7be7468a6465981de4f6fc4398110a7581,8179aadb2c28ec3ca76a88f879b70bafaa023334,972b5181eb6501c54ce8194c71ce67469a0a5fe1
386f31ef4c2ac15fa101addb4f93cb7c4599ebd5,b9ef7416f05391d8133bed83311230256732e6f9,2444c5ec790862b948d919d2c35e94fbcfc68ac1
9b9623b289073b875c8cfad7b43fc1a901f0a462,29e2277d98fae1246789babafcd0585590d3f3f4,d1b7a49700eea1eafaa8ec37c1d8470b7f68ec39
2d9ef694dd57e49ccc2644e2c9d2ef9a328b59d2,7506277dc1618bc9c1f1f6f5cb8a4cb56185f356,186f93a8c9dbe75bfe1d852f4aa262e799002657
6d49f7db7b65c5c561c6f99bd78d4adeada01b49,689fae7dd902b1ab37b9c5a723ded2e5c75db90c,6edfaed0ac70bffcb02e7a9e7ca20fce0f6f4100
055740e2b33101b7dc647c7dbbc4fc7967d8033a,9000f8742dea9a147febb0095f938d8f3c28a96c,30f514eb6bf1ef0acf5fd6f7fa0246671f5089fe
8f8ce13b4173a670fb36a338dd479ba4f46b971d,a9b8fb0f0517fe56f47e0ba5ae5c5a1cba264d86,d809b4ba982e4ac905631054665ff5a973b4d491
cf4fc4e3855f24ecd16d75e7d2f172881956f5dc,634e01d525c3ef31b11ce65aae600bb784b436f4,487afd243e55de56d45be70fbe7c9d7056d6b777
6e73a3b0e1e2c813785f9e104f4230988f065a0b,6f5f567087c78419d5c23de88e0618dddeb97ad7,4b04608a4465649d7d4e7e09a4611342cc50a3aa
bfefdb67c3be4318ba52be7e603c8dea90299da2,36dda1724559cf9aa7cc47c279e0150b364ce22d,d72449d461d87649a7627511b2ba8357672afa35
fa097d1ab0561c637dd2c907783f31a5ee410e46,5d7d5f6d8368182bd603cf384de2124c54dc8086,9c3be3351f8811ff5ebbc84731a22a26579df8ae
4a59ff048b97e18a45ca004f68e9d9d4889fb5da,4284e61fccd5c66948772364576b5aeff28b6cb2,a2a5c3c915f61dfd3e3ff47e563f73dfa792591c
4c4ead3abb2eed920f9025c2cec1a39484b6ac3f,0b8b93e1cea96dea6cdd8805457b8256e1213324,8508872105cfccc6a9408b4a84272514224321ba
82f3f2b24a2268cad06cf968af70ba6231bac48c,a5b7617b26824586d20eed1b82677be2236d5c8d,61c7f95f08dbfccd2d9682f53f4610ae81808077

Clicking a revision will expand files
 


+ added TList.Sort overload with a sorting algorithm parameter
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/lists.inc


* fixed TFPList.Sort. Scary news: turns out we don't have any tests for
TFPList.Sort or TList.Sort... :(
Commit consists out of
  • M rtl/objpas/classes/lists.inc


Avoid warnings when -v0 is used by using $push/$pop
Commit consists out of
  • M rtl/inc/dos.inc
  • M rtl/inc/fexpand.inc
  • M rtl/inc/ustrings.inc
  • M rtl/objpas/classes/streams.inc


* Add Read/Write(Buffer) TBytes, ReadData/WriteData, ReadBufferData/WriteBufferData to be Delphi compatible
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/streams.inc

needs compiler fix



* FIx compilation for platforms that do not have extended
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/streams.inc


* FIx compilation with 3.0.4
Commit consists out of
  • M rtl/objpas/classes/streams.inc


* Make explicit that Integer is 32-bit
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/streams.inc


* Fix bug ID 0035576
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/streams.inc


* Allow context when sorting lists (patch from Ondrej Pokorny, bug ID 000035962)
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/lists.inc


* Patch from Serge Anvarov with some optimizations (bugMantis 0036143)
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/lists.inc


* make TProxyStream.Check an abstract method; as it is right now one had to override it anyway because it always raised an exception
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/streams.inc


* Add deprecation message
Commit consists out of
  • M rtl/objpas/classes/classesh.inc


The TStream.ReadBuffer and TStream.WriteBuffer methods have changed the Count parameter type to NativeInt.
Changed the implementation of ReadBuffer, WriteBuffer so that the size of the blocks when calling Read and Write does not exceed High(Longint).
Notes:
- Thanks to this change, for example, a file larger than 2GB can be loaded into TMemoryStream.
- The fact that the Count parameter has the NativeInt type is compatible with the latest versions of Delphi.
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/streams.inc


* Small safety precaution
Commit consists out of
  • M rtl/objpas/classes/streams.inc


* Added Read64/Write64
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/streams.inc


* Char -> AnsiChar
Commit consists out of
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/parser.inc
  • M rtl/objpas/classes/reader.inc
  • M rtl/objpas/classes/streams.inc
  • M rtl/objpas/classes/stringl.inc
  • M rtl/objpas/classes/twriter.inc
  • M rtl/objpas/classes/util.inc
  • M rtl/objpas/classes/writer.inc


* Adapt classes to Unicode RTL : Give string/char correct type depending on case
Commit consists out of
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/parser.inc
  • M rtl/objpas/classes/reader.inc
  • M rtl/objpas/classes/streams.inc
  • M rtl/objpas/classes/stringl.inc
  • M rtl/objpas/classes/writer.inc


rtl: added overload GetClass(UnitName,ClassName), implemented UnregisterClass, overload TStream.WriteComponent(Instance,WriteUnitName)
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/cregist.inc
  • M rtl/objpas/classes/reader.inc
  • M rtl/objpas/classes/streams.inc
  • M rtl/objpas/classes/writer.inc


rtl: ObjectBinaryToText, ObjectTextToBinary: support unitname/classname
Commit consists out of
  • M rtl/objpas/classes/classes.inc


* Better Ansi/WideString support for TStream. Fix StringStream with unicode to be delphi compatible
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/streams.inc


rtl: added TBinaryObjectReader.BeginComponent
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/reader.inc


+ add function reference suitable overload of TThread.ForceQueue()
Commit consists out of
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/classes/classesh.inc


* change Result of CheckSynchronize to true when at least one method was executed (matches with both FPC and Delphi documentation)
Commit consists out of
  • M rtl/objpas/classes/classes.inc


+ support 16-bit pointers in TFPList.IndexOf
Commit consists out of
  • M rtl/objpas/classes/lists.inc


rtl: classes: added parameter aName to TFindComponentClassExEvent
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/reader.inc


* Deprecate hextobin
Commit consists out of
  • M rtl/objpas/classes/classesh.inc


* Some delphi compatibility types and consts
Commit consists out of
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/classes/classesh.inc

tcustomattribute.



* Add GetMulticastObserver
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/observer.inc


* Add TStreamOriginalFormat for Delphi compatibility
Commit consists out of
  • M rtl/objpas/classes/classesh.inc


* Delta stream support
Commit consists out of
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/compon.inc
  • M rtl/objpas/classes/reader.inc


* Add TReader.ReadPrefix for Delphi compatibility
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/reader.inc


* Fix wrong typecast
Commit consists out of
  • M rtl/objpas/classes/reader.inc


* Not all OSes have NilHandle
Commit consists out of
  • M rtl/objpas/classes/classesh.inc


* Fix wince/nativent compilation
Commit consists out of
  • M rtl/objpas/classes/reader.inc


* Add CreateAnonymousThread with anonymous procedure
Commit consists out of
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/classes/classesh.inc


* Move move free notifications to separate procedure. Fixes issue gitlab 0040638
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/compon.inc


* Make TComponent.GetObservers virtual and protected for Delphi compatibility
Commit consists out of
  • M rtl/objpas/classes/classesh.inc


* Add TReader.SetName for Delphi compatibility
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/reader.inc


* Add TestStreamFormat
Commit consists out of
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/classes/classesh.inc


* Correct UTF8 detection
Commit consists out of
  • M rtl/objpas/classes/classes.inc


* Add TReader.ReadStr for Delphi compatibility
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/reader.inc


* Fix signature of TReader.SetName
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/reader.inc


* Overloads for TResourcestream.Create
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/streams.inc


* Fix error in TReadr.ReadString. Fixes issue gitlab 0040652
Commit consists out of
  • M rtl/objpas/classes/reader.inc


* Add CanObserve and ObserverAdded to TComponent, for delphi compatibility
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/compon.inc


* Add IsUniqueGlobalComponentName
Commit consists out of
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/classes/classesh.inc


* Add StreamOriginalFormat to ObjectTextToBinary
Commit consists out of
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/classes/classesh.inc


* Fix wince/nativent
Commit consists out of
  • M rtl/objpas/classes/classes.inc


* Add property to better simulate Delphi behaviour
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/reader.inc


* Improved ToString for TComponent
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/compon.inc


* DefineProperties can have dot in name.
Commit consists out of
  • M rtl/objpas/classes/reader.inc


* Patch from Alfred Glänzer, fix FindComponentClass to use actual typinfo structures. Fixes issue gitlab 0041000
Commit consists out of
  • M rtl/objpas/classes/reader.inc


* Patch from Amexander Bagel to restore Delphi-compatible behaviour in TThread.Queue. Fixes issue gitlab 0041043
Commit consists out of
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/classes/classesh.inc


* Small optimization. Use SameText instead of uppercasing both strings
Commit consists out of
  • M rtl/objpas/classes/reader.inc


* Parser buffer are ansichars
Commit consists out of
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/parser.inc


* Add delay parameter to ForceQueue for Delphi compatibility
Commit consists out of
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/classes/classesh.inc


* Remove debug statement
Commit consists out of
  • M rtl/objpas/classes/classes.inc


* Use new pause intrinsic for platforms that support it in TThread.SpinWait
Commit consists out of
  • M rtl/objpas/classes/classes.inc


Fix typo in last commit
Commit consists out of
  • M rtl/objpas/classes/classes.inc


Fix compilation with release compiler
Commit consists out of
  • M rtl/objpas/classes/classes.inc


* use also fpc_riscv_pause
Commit consists out of
  • M rtl/objpas/classes/classes.inc


* Fix freeing wrong list. Fixes issue gitlab 0041530
Commit consists out of
  • M rtl/objpas/classes/compon.inc


Fix LLVM rtl compilation by disabling yield/pause inside TThread.SpinWait method
Commit consists out of
  • M rtl/objpas/classes/classes.inc


Add fpc_ppc_yield call for powerpc/powerpc64 CPU
Commit consists out of
  • M rtl/objpas/classes/classes.inc


Use FPC_USE_INTRINSICS macro to use compiler pause/yield intrinsics function
Commit consists out of
  • M rtl/objpas/classes/classes.inc


Fix syntax error (missing $endif)
Commit consists out of
  • M rtl/objpas/classes/classes.inc


* Improve alignment of critical section (for wasm)
Commit consists out of
  • M rtl/objpas/classes/classesh.inc


Binary loading components.
Commit consists out of
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/reader.inc


Revert "Binary loading components."

This reverts commit a5b7617b26824586d20eed1b82677be2236d5c8d
Commit consists out of
  • M rtl/objpas/classes/classes.inc
  • M rtl/objpas/classes/classesh.inc
  • M rtl/objpas/classes/reader.inc