Commit Graph

160 Commits

Author SHA1 Message Date
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
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
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
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
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
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
marco
2c149e805a * fix for 15597. Added returnvalue to early-out exit().
git-svn-id: trunk@14818 -
2010-01-27 19:49:28 +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
florian
42ae8bf971 * fixed memory stream compilation on 64 bit targets
git-svn-id: trunk@14523 -
2010-01-02 16:05:57 +00:00
florian
b5167560c3 * T*MemoryStream now uses PtrInt for sizes and positions so it can be bigger than 2 GB on 64 Bit systems, resolves #15313
git-svn-id: trunk@14513 -
2010-01-01 21:05:18 +00:00
paul
1cd32f5327 rtl: implement TCollection.SetPropName
git-svn-id: trunk@14295 -
2009-12-02 03:40:26 +00:00
giulio2
d257b19798 * Skip UTF-8 BOM in TParser (classes) and dfmreader (fcl-res)
git-svn-id: trunk@14292 -
2009-11-30 21:55:25 +00:00
marco
805e5a79c6 * writer.writeset, reader.readset as per mantis 10501
git-svn-id: trunk@14200 -
2009-11-16 12:50:18 +00:00
marco
e018effcd2 * non-resolved methods are not written. Mantis 13846(laz) / 14798(fpc)
git-svn-id: trunk@14115 -
2009-11-08 14:21:03 +00:00
marco
27114853b4 * TStream.Read/writeqword. Mantis 15023
git-svn-id: trunk@14111 -
2009-11-08 11:47:50 +00:00
marco
6ed7d33569 * patch from 15003 from M spiller, reverting now implemented.
git-svn-id: trunk@14078 -
2009-11-06 10:52:23 +00:00
marco
21f569391b * Patch from Sergei/Anton. Mantis 10948. Under ifndef ver2_2
git-svn-id: trunk@14069 -
2009-11-05 20:42:18 +00:00
paul
8292fcc49e rtl: override TObject.Equals for TBits and TStrings classes
git-svn-id: trunk@14013 -
2009-11-03 02:01:06 +00:00
paul
aa5a5e79ce merge revisions: 13909,13923,13924,13934,13935,13942,13943,13944,13946,13948,13950,13951,13952,13983,13994:
rtl: add enumerators to the basic classes
tests: add enumerators test which compiles and work both by fpc and dcc
compiler: 
  + start for-in loop implementation: implement for-in loop for types (enumerations and ranges), strings, arrays and sets. todo: perform type checking, optimize array and string loops - use temp for expression, implement for-in loop for classes
test:
  + add a simple test for the 'for-in' loop
compiler: fix string for-in loop. now it uses a temp variable to store string expression result
complier: fix for-in array loop. use a temp variable for the loop expression only if loop is not an open array loop
complier: continue enumerator implementation:
  + add operator enumerator which give an ability to add enumerator for an existent type (for example to override builtin string enumerator)
  + add class enumerator support via delphi compatible GetEnumerator method + enumerator class/object template (function MoveNext: Boolean; property Current)
  + tests
compiler: fix for-in loop for arrays. delphi does not copy arrays to a temp variable and it is possible to change array during loop. + test
compiler: add reference for the enumerator operator when it is used + another test for operator enumerator for a class
compiler: add reference for the enumerator operator when it is used + another test for operator enumerator for a class
compiler: enumerator directive support:
  + allow to mark methods and properties by 'enumerator MoveNext' and 'enumerator Current' modifiers. Parser checks return types and duplicates.
  + prefer *marked* by enumerator directive methods and properties than GetEnumerator and Current builtin symbols
  + increase ppu version
  + test
rtl: add IEnumerator and IEnumerable interfaces declarations
tests: for-in loop tests:
  + add small comment at the top of test program
compiler: allow 'enumerator MoveNext' for the interface function declaration + test
compiler: move all for-in loop helpers to the nflw unit
compiler: don't allow the compiler to choose the non-valid enumerator operator for the for-in loop

git-svn-id: trunk@14008 -
2009-11-02 03:24:48 +00:00
paul
dfef902c53 rtl: introduce new TObject methods: UnitName, GetHashCode, Equals, ToString added for compatibility with delphi 2009.
+ changes in compiler, utils, packages to resolve identifier conflicts with the new TObject methods (like changing of UnitName arguments to AUnitName, adding Classes. before the toString, etc). (issue #0014931)

git-svn-id: trunk@14005 -
2009-11-01 16:22:47 +00:00
marco
09b22de964 * TStreamAdapter + relevant constants. From 10608
git-svn-id: trunk@13988 -
2009-10-31 20:13:41 +00:00
marco
b5e361a4cb * TOleStream + TProxystream (Mantis 8376)
git-svn-id: trunk@13984 -
2009-10-30 18:27:26 +00:00
michael
89ec956733 * Patch from Mattias Gaertner to fix property overrides. (bug ID 14885)
git-svn-id: trunk@13939 -
2009-10-24 12:34:26 +00:00
ivost
2bfe336917 * reverted compon.inc to the state of r13298 (csFreeNotification maybe set even with no freelist allocated)
git-svn-id: trunk@13917 -
2009-10-21 23:26:45 +00:00
ivost
0c725eae43 * fixed setting wrong component state. csDesignInstance and csInline were set inversed.
git-svn-id: trunk@13916 -
2009-10-21 19:24:10 +00:00
ivost
fff6e218af * readded BeforeDestructor that calls Destroying (delphi compatibility issue)
* uncommented code in Notification procedure (delphi compatibility issue)

git-svn-id: trunk@13874 -
2009-10-16 18:12:11 +00:00
ivost
3cfcdb2ab9 * reverted parts of r13852 (removed +/- with sets and added include/exclude)
git-svn-id: trunk@13873 -
2009-10-16 17:34:50 +00:00
ivost
242560f138 * corrected some typo that was inserted by r13853
git-svn-id: trunk@13854 -
2009-10-13 15:48:42 +00:00
ivost
65bca0a26d * enhanced how observers are notified by subjects on destroying
git-svn-id: trunk@13853 -
2009-10-13 12:22:36 +00:00
ivost
74c09e2268 * fixed strange free notification behavior of TComponent. Must be some memory corruption or so.
* replaced deprecated Include / Exclude calls

git-svn-id: trunk@13852 -
2009-10-13 12:05:14 +00:00
marco
1e7ee7aef4 * Patch from Paul Ishenin, load stringlists with fmdenywrite. (improves sharing behaviour)
git-svn-id: trunk@13803 -
2009-10-04 13:36:43 +00:00
Jonas Maebe
0eec337a00 - removed SUPPORT_UNALIGNED, FPC_SUPPORTS_UNALIGNED and FPC_UNALIGNED_FIXED
defines and ifdefs (already all defined by 2.2.4)

git-svn-id: trunk@13581 -
2009-08-23 07:51:26 +00:00
michael
a7ed599879 * Patch from martin friebe (bug id 14380) to fix streaming of frames
git-svn-id: trunk@13567 -
2009-08-20 11:29:06 +00:00
florian
bc8ccacab8 * TInterfacedPersistent requires that the interface is requested from the owner if an owner is SetActive
* unified coding style

git-svn-id: trunk@13409 -
2009-07-19 09:36:43 +00:00
ivost
91430b6837 * reverted 13297
git-svn-id: trunk@13298 -
2009-06-19 09:03:51 +00:00
ivost
8b7167e538 * revised TComponent class. There was a lot of outdated, bad, maybe also old code. Tested also with Lazarus.
git-svn-id: trunk@13297 -
2009-06-19 00:07:59 +00:00
ivost
da55f04221 * fixed bug in SetAncestor of TComponent
git-svn-id: trunk@13293 -
2009-06-18 22:38:30 +00:00
Jonas Maebe
ba951580a2 * fixes and cleanups for tbits (patch by Sergei Gorelkin, mantis #13890)
git-svn-id: trunk@13243 -
2009-06-06 14:35:25 +00:00
florian
398b5806b1 * TCollectionItem.Changed checks update counter of collection, resolves #13813
git-svn-id: trunk@13225 -
2009-06-01 16:09:56 +00:00
yury
80fe51380d * Removed unused private fields TThread.FMethod and TThread.FSynchronizeException.
* Removed all code of TThread.Synchronize() for BeOS, since existing code is copy/paste from win32 code and does not work anyway.

git-svn-id: trunk@13078 -
2009-05-02 12:09:30 +00:00
Jonas Maebe
d89eedf38d * support varbyref and vararray (the latter if convertable to a single
element of its element type) in TBinaryObjectWriter.WriteVariant
    by letting variantmanager handle their conversion transparently

git-svn-id: trunk@13075 -
2009-05-02 08:28:42 +00:00
Jonas Maebe
6f4637b32a * do not do anything when writing to a t(custom)memorystream if the current
position is negative (patch by Collin Western, mantis #13318)

git-svn-id: trunk@12955 -
2009-03-22 15:53:16 +00:00
michael
2abc422035 * ValidateContainer should call ValidateInsert
git-svn-id: trunk@12935 -
2009-03-21 09:26:48 +00:00