paul
8dfed24f3a
rtl: don't use c-style +=, -= in freebidi, utf8bidi since they can't be compiled with default options in this case
...
git-svn-id: trunk@15321 -
2010-05-24 03:35:34 +00:00
Jonas Maebe
700aa3cf11
* GetEnumNameCount also counted the unit name after r14511 (mantis #16402 )
...
git-svn-id: trunk@15225 -
2010-05-04 17:59:58 +00:00
ivost
980c353421
* added function IncludeLeadingPathDelimiter: it adds a path delimiter in front of a path
...
* added function ExcludeLeadingPathDelimiter: it removes a path delimiter in front of a path
* added function ConcatPaths: it concats multiple path fragments, path delimiters are added if necessary
git-svn-id: trunk@15167 -
2010-04-24 21:05:05 +00:00
Jonas Maebe
c67712f81f
+ tthread.start method, simply calls tthread.resume for now (mantis #16326 )
...
git-svn-id: trunk@15165 -
2010-04-24 14:52:08 +00:00
paul
a1d94c6829
rtl: implement TStreamAdapter.CopyTo, .SetSize, return proper error value for Clone instead of raising exception ( #0016161 ) + test
...
git-svn-id: trunk@15138 -
2010-04-11 12:52:31 +00:00
marco
cbf7b49dd1
* removed packed from statstg, which causes trouble in win64, and is probably wrong. Mantis 16159
...
git-svn-id: trunk@15136 -
2010-04-11 11:21:39 +00:00
paul
17687d90ce
rtl: minor changes for TStreamAdapter:
...
- return STG_E_INVALIDPOINTER instead of E_INVLIDARG for Read,Write as msdn requires
- return STG_E_INVALIDFUNCTION instead of E_INVLIDARG for Seek as msdn requires
git-svn-id: trunk@15127 -
2010-04-10 17:50:29 +00:00
michael
bc735a639f
* Call specialchars in TStringList constructor
...
git-svn-id: trunk@15116 -
2010-04-08 06:51:26 +00:00
Jonas Maebe
a18f2594e2
* fixed FloatToStr for ffGeneral when dealing with numbers whose number of
...
significant digits before the decimal points matches the precision
parameter exactly (mantis #16188 )
* round instead of cut off digits in FloatToStr with ffGeneral
* take into account the minus sign when determining whether a number needs
to be represented using ffExponent instead of ffGeneral because it has
too many digits
git-svn-id: trunk@15114 -
2010-04-05 14:54:24 +00:00
paul
24d8a7d833
compiler: start implementation of class constructors/destructors: parsing is ready but at the moment neither class constructors nor destructors are called - this is to be implemented
...
git-svn-id: trunk@15109 -
2010-04-03 09:14:12 +00:00
Jonas Maebe
60f8b7fcb1
+ int64 version of randomrange() (mantis #16108 )
...
git-svn-id: trunk@15097 -
2010-03-30 20:04:19 +00:00
ivost
a6022f5df2
* removed IImplementorGetter interface and replaced it by the guid IObjectReference.
...
* GetInterface and GetInterfaceWeak is modified so that when querying for IObjectReference not an interface is returned but the object pointer
git-svn-id: trunk@15087 -
2010-03-28 12:35:50 +00:00
ivost
7025b1ac01
* added supports helper functions for IInterface supports TClass -> TObject,Boolean
...
git-svn-id: trunk@15086 -
2010-03-28 11:51:38 +00:00
ivost
5a588e5f06
* fixed Supports function so that it's using new function GetInterfaceWeak. Supports may have accidentially freed a objects.
...
git-svn-id: trunk@15078 -
2010-03-27 17:02:09 +00:00
Jonas Maebe
d5f415b047
* initialise fwritelocked and freadercount in the TMREWS constructor using
...
atomic operations so that in case it's created while multiple threads are
already running, all threads are guaranteed to see this initialisation
* some minor changes to the comments of TMREWS
git-svn-id: trunk@15074 -
2010-03-27 12:44:51 +00:00
ivost
8391b717ea
* Some (delphi) applications expect that the QueryInterface method is invoked as first priority to query for an interface and GetInterface as 2nd priority
...
* The changes to the support functions are going to conform that.
git-svn-id: trunk@15066 -
2010-03-26 00:01:52 +00:00
Jonas Maebe
531efc5a69
* round(x) -> trunc(x+0.5) in Julian date conversion to prevent the current
...
rounding mode from influencing the result
git-svn-id: trunk@15037 -
2010-03-23 10:34:43 +00:00
Jonas Maebe
4303eda80c
* moved SInvalidJulianDate from rtlconst to sysconst (part of r15032,
...
necessary because dateutils only depends on sysconst and it contains
the julian-datetime helper routines)
git-svn-id: trunk@15033 -
2010-03-22 22:28:59 +00:00
Jonas Maebe
82ff623390
+ fixed Julian date helpers (based on patch by Bernd Engelhardt, mantis
...
#16040 )
* finished remaining unimplemented Julian date helpers
git-svn-id: trunk@15032 -
2010-03-22 21:01:46 +00:00
marco
49fc4795e3
* fix for mantis 16052 RFC4122 compliance of own random GUID creation. Part II
...
git-svn-id: trunk@15024 -
2010-03-20 14:08:10 +00:00
marco
b6048862b8
* fix for mantis 16052 RFC4122 compliance of own random GUID creation.
...
git-svn-id: trunk@15023 -
2010-03-20 13:03:45 +00:00
michael
f29973cc71
* Added Exchange to TCollection. Bug ID #15517
...
git-svn-id: trunk@15012 -
2010-03-14 10:25:32 +00:00
paul
e2dbccf017
rtl: fix streaming of ancestor components - save/restore FRootAncestor in TWriter.WriteComponent because it can be changed by DoFindAncestor call (if IDE/or user code is connected to OnFindAncestor event)
...
git-svn-id: trunk@14969 -
2010-03-04 07:21:18 +00:00
marco
be98b13554
* fix for 11263, changed fileread and fd_zero to out using $modeswitch.
...
git-svn-id: trunk@14965 -
2010-03-01 22:35:14 +00:00
joost
151fab0548
* Moved TEventType from eventlog.pp tot sysutils
...
* Added empty TCustomApplication.Log method
git-svn-id: trunk@14960 -
2010-03-01 13:15:36 +00:00
paul
8d7312f87b
rtl: use CreateVCLComObject routing to create VCLComObject in case it is not assigned + test
...
git-svn-id: trunk@14948 -
2010-02-27 08:49:50 +00:00
paul
9aa4504369
rtl: initial TComponent.VCLComObject support - map interface related TComponent methods to the appropriate IVCLComObject interface methods
...
git-svn-id: trunk@14947 -
2010-02-27 08:05:51 +00:00
paul
ea8bf4f2fd
rtl: TObject.SafeCallException and TComponent.SafeCallException has HResult return value. Fix default return value to catastrophic failure error code.
...
git-svn-id: trunk@14936 -
2010-02-25 04:13:52 +00:00
ivost
efc3054644
* commented "deprecated". specialization is not working
...
git-svn-id: trunk@14894 -
2010-02-13 00:29:22 +00:00
marco
d742d6db58
* another fix for #15655 , wrongly fixed in r14885
...
git-svn-id: trunk@14893 -
2010-02-12 22:32:22 +00:00
joost
8f90db3e98
* Fixed mem-leaks
...
git-svn-id: trunk@14891 -
2010-02-12 15:44:56 +00:00
ivost
2f20f6efc1
* marked old OnCompare properties as deprecated. use OnKeyCompare or OnDataCompare instead.
...
git-svn-id: trunk@14889 -
2010-02-11 20:48:35 +00:00
ivost
0637586076
* extended TFPGMap so that it's possible to add a custom compare function for data. Default compare function is binary compare.
...
git-svn-id: trunk@14888 -
2010-02-11 20:45:14 +00:00
ivost
02b4a626de
* changed some var parameters to out. the context allows that. it's required to prevent "not initialized variable" warning.
...
git-svn-id: trunk@14886 -
2010-02-11 15:52:37 +00:00
marco
fb1e916ed2
* fix from mantis 15655 that adds notifiers to tlist.addlist.
...
git-svn-id: trunk@14885 -
2010-02-11 13:37:34 +00:00
florian
0c153a46df
* math.power/intpower(0,0) return 1, this is as recommended in IEEE 754
...
as well as compatible with other programming languages and delphi
git-svn-id: trunk@14873 -
2010-02-06 23:10:03 +00:00
marco
706f0b7975
* New more delphi compat intstrtotime by Bart Broersma #15505 + test
...
git-svn-id: trunk@14854 -
2010-02-03 15:10:14 +00:00
Jonas Maebe
89e4e0fd25
* only wake up readers if all recursive write locks have been freed
...
git-svn-id: trunk@14831 -
2010-01-29 21:56:46 +00:00
Jonas Maebe
13e8b3f23e
* don't give a "NoThreadError" for any default rtl/basicevent* routines,
...
so the TMultiReadExclusiveWriteSynchronizer routines can be safely
executed even with the default thread manager -> removed ismultithread
checks, so that it keeps working even if ismultithread is set to true
between acquiring and freeing a lock (mantis #15619 )
git-svn-id: trunk@14830 -
2010-01-29 21:01:11 +00:00
Jonas Maebe
e4858445c7
* make sure fwritelocked remains set correctly when using recursive write locks
...
git-svn-id: trunk@14828 -
2010-01-29 18:10:10 +00:00
Jonas Maebe
2c477269d0
* added a readbarrier after acquiring a read or write lock on
...
TMultiReadExclusiveWriteSynchronizer, to ensure that out-of-order
execution cannot already perform some reads inside the critical section
before the lock has been acquired
- removed now unnecessary read barrier before releasing a read lock
git-svn-id: trunk@14820 -
2010-01-27 22:23:41 +00:00
marco
2c149e805a
* fix for 15597. Added returnvalue to early-out exit().
...
git-svn-id: trunk@14818 -
2010-01-27 19:49:28 +00:00
marco
52e803112b
* fix for #0 problem in posex + faster (indexbyte) based implementations.
...
git-svn-id: trunk@14786 -
2010-01-23 22:03:20 +00:00
paul
d3820bfa58
rtl: add TVmtFieldTable, TVmtFieldEntry to typinfo unit since delphi has that declarations too
...
git-svn-id: trunk@14754 -
2010-01-20 15:17:06 +00:00
micha
215823c88f
* rtl: fix TFPGList Add/Insert hang/crash (issue #15500 )
...
git-svn-id: trunk@14718 -
2010-01-17 15:34:45 +00:00
florian
50d1008577
* superfluos empty lines removed
...
git-svn-id: trunk@14596 -
2010-01-10 13:24:41 +00:00
Jonas Maebe
49f01e7b64
* replaced writelock of TMultiReadExclusiveWriteSynchronizer with a
...
critical section, so that it can be entered recursively just like
the one from TSimpleRWSync + test
- reverted r14593, since the reason for using TRWSync instead of
TMultiReadExclusiveWriteSynchronizer was because the former
supported recursive write locks
git-svn-id: trunk@14594 -
2010-01-10 12:14:21 +00:00
Jonas Maebe
47882716cf
* use a TSimpleRWSync instead of a TMultiReadExclusiveWriteSynchronizer
...
for the globalnamespacelock, since it seems to require recursive locking
(which TMultiReadExclusiveWriteSynchronizer does not support)
git-svn-id: trunk@14593 -
2010-01-10 11:41:55 +00:00
Jonas Maebe
356845ba1e
* set function results for unimplemented generic thread manager routines
...
(to remove warnings)
* don't give a thread error for basicevent and threadevent routines if
isMultiThreaded is false, except for the waiting routines (the new
TMultiReadExclusiveWriteSynchronizer creates/sets such events in the
constructor, which caused thread manager errors in case cthreads was
not used under unix)
* don't perform any actual locking in TMultiReadExclusiveWriteSynchronizer
routines if isMultiThreaded is false (in order to avoid the errors
described above)
+ added generic RTLeventResetEvent stub
git-svn-id: trunk@14592 -
2010-01-10 11:04:05 +00:00
paul
9bad162368
rtl: fix crash in TMultiReadExclusiveWriteSynchronizer.Beginwrite
...
git-svn-id: trunk@14591 -
2010-01-10 09:35:37 +00:00