Commit Graph

52 Commits

Author SHA1 Message Date
michael
c4cc9b59e0 * Tag is now PtrInt, for upcoming Delphi 64-bit compatibility
git-svn-id: trunk@16408 -
2010-11-23 21:19:39 +00:00
michael
a1d8ad7a27 * Changed var to out in TStringList.Find
git-svn-id: trunk@16395 -
2010-11-21 18:20:44 +00:00
sergei
907e7a32d5 * GetFileHandle(), THandleStream: changed type that is used to store file handle from Integer to THandle, so it can be redefined to 64 bits on certain platforms, see http://lists.freepascal.org/lists/fpc-devel/2010-November/023019.html
git-svn-id: trunk@16383 -
2010-11-20 12:58:53 +00:00
joost
07bf44517c * Merged XPCom branch into trunk, added support for constref and changed
the IInterface implementation to be XPCom-compatible
--- Merging r15997 through r16179 into '.':
U    rtl/inc/variants.pp
U    rtl/inc/objpash.inc
U    rtl/inc/objpas.inc
U    rtl/objpas/classes/persist.inc
U    rtl/objpas/classes/compon.inc
U    rtl/objpas/classes/classesh.inc
A    tests/test/tconstref1.pp
A    tests/test/tconstref2.pp
A    tests/test/tconstref3.pp
U    tests/test/tinterface4.pp
A    tests/test/tconstref4.pp
U    tests/webtbs/tw10897.pp
U    tests/webtbs/tw4086.pp
U    tests/webtbs/tw15363.pp
U    tests/webtbs/tw2177.pp
U    tests/webtbs/tw16592.pp
U    tests/tbs/tb0546.pp
U    compiler/sparc/cpupara.pas
U    compiler/i386/cpupara.pas
U    compiler/pdecsub.pas
U    compiler/symdef.pas
U    compiler/powerpc/cpupara.pas
U    compiler/avr/cpupara.pas
U    compiler/browcol.pas
U    compiler/defcmp.pas
U    compiler/powerpc64/cpupara.pas
U    compiler/ncgrtti.pas
U    compiler/x86_64/cpupara.pas
U    compiler/opttail.pas
U    compiler/htypechk.pas
U    compiler/tokens.pas
U    compiler/objcutil.pas
U    compiler/ncal.pas
U    compiler/symtable.pas
U    compiler/symsym.pas
U    compiler/m68k/cpupara.pas
U    compiler/regvars.pas
U    compiler/arm/cpupara.pas
U    compiler/symconst.pas
U    compiler/mips/cpupara.pas
U    compiler/paramgr.pas
U    compiler/psub.pas
U    compiler/pdecvar.pas
U    compiler/dbgstabs.pas
U    compiler/options.pas
U    packages/fcl-fpcunit/src/testutils.pp

git-svn-id: trunk@16180 -
2010-10-17 20:58:22 +00:00
marco
a680c63950 * TThread.Resume and suspend deprecated (see user changes trunk)
git-svn-id: trunk@16171 -
2010-10-15 22:15:57 +00:00
sergei
a66876704b * Windows platforms: always start a thread in suspended state and resume it later in AfterConstruction if necessary, prevents race conditions in constructor. Fixes Mantis #16884 on Windows.
git-svn-id: trunk@16091 -
2010-10-06 16:57:15 +00:00
marco
6ebda8f2cc * D2009 compat: TStringList.OwnsObjects
git-svn-id: trunk@16058 -
2010-09-28 14:52:44 +00:00
michael
4d2786d238 * Patch from Luiz americo to use FPList where possible
git-svn-id: trunk@15663 -
2010-07-30 09:06:18 +00:00
Jonas Maebe
d7cdd9afba * allow tthread-based threads to only start executing once the constructor
has finished running (based on patch by Jared Davison, mantis #16884)

git-svn-id: trunk@15599 -
2010-07-18 16:31:25 +00:00
marco
d8707ec5d3 * hmodule should scale with pointertype on non-windows.
git-svn-id: trunk@15510 -
2010-07-02 20:08:05 +00:00
michael
037c783442 * Patch from Mattias gaertner to support lazarus lfm encoding in TParser
git-svn-id: trunk@15415 -
2010-06-12 20:54:33 +00:00
michael
561972e0fc * Added TDataModuleClass class pointer
git-svn-id: trunk@15353 -
2010-05-31 09:53:18 +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
michael
f29973cc71 * Added Exchange to TCollection. Bug ID #15517
git-svn-id: trunk@15012 -
2010-03-14 10:25:32 +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
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
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
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
marco
b5e361a4cb * TOleStream + TProxystream (Mantis 8376)
git-svn-id: trunk@13984 -
2009-10-30 18:27:26 +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
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
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
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
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
michael
a43bda5052 * Added sort method to TCollection
git-svn-id: trunk@12901 -
2009-03-15 15:46:50 +00:00
Jonas Maebe
e9fcae46d9 * replaced "tvardata" with "variant" in the interface for streaming
variants (without pulling in the variants unit)

git-svn-id: trunk@12824 -
2009-02-28 17:08:47 +00:00
Jonas Maebe
b95b1cc983 * variants are now stored in a stream as regular values instead of as a
secific variant type
  + support for storing qwords in streams (vaQWord, necessary for varQWord
    support)
  * moved variant serialisation from twriter into tbinaryobjectwriter so
    it can be overridden
   (all further changes for mantis #10482)

git-svn-id: trunk@12820 -
2009-02-28 12:01:18 +00:00
Jonas Maebe
f1daa9fa73 + added support for streaming basic variant types (boolean, integer types,
floating point types, currency and string types), based on description
    by Anton Kavalenka at
    http://wiki.freepascal.org/FPC_Cleanroom#Variant_streaming_implementation
    and based on his test program (mantis #10482)

git-svn-id: trunk@12781 -
2009-02-23 21:32:12 +00:00
yury
8bbb39b630 * MaxBitFlags must not exceed MaxInt atm. After r12443, MaxBitFlags was $3FFFFFFE0. "unreachable code" warning indicated that something is wrong. Please fix all warning/notes to eliminate possible coding errors...
git-svn-id: trunk@12687 -
2009-02-05 12:19:02 +00:00
marco
658dc2d8cd * increased very low (64k) TBits limit to +/- 2GB, like most datastructures.
Artifact of TP times? Mantis 12431. Further increasing (e.g. for 64-bit)
     needs cleanup (ptr(u)int?) first.

git-svn-id: trunk@12443 -
2008-12-27 21:15:30 +00:00
florian
23bbb087bd * indention fixed
git-svn-id: trunk@12434 -
2008-12-24 16:17:09 +00:00
yury
5ffec2d876 * Fixed notes: Virtual method X has a lower visibility (protected) than parent class (public).
git-svn-id: trunk@12353 -
2008-12-12 15:07:05 +00:00
florian
b178b08ba7 Merged revisions 11665-11738 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/unicodestring

........
  r11665 | florian | 2008-08-30 13:30:17 +0200 (Sat, 30 Aug 2008) | 1 line
  
  * continued to work on unicodestring type support
........
  r11666 | florian | 2008-08-30 19:02:26 +0200 (Sat, 30 Aug 2008) | 2 lines
  
  * expectloc for wide/ansi/unicode strings is LOC_CONSTANT or LOC_REGISTER now
........
  r11667 | florian | 2008-08-30 20:42:37 +0200 (Sat, 30 Aug 2008) | 1 line
  
  * more unicodestring stuff fixed, test results on win32 are already good
........
  r11670 | florian | 2008-08-30 23:21:48 +0200 (Sat, 30 Aug 2008) | 2 lines
  
  * first fixes for unix bootstrapping
........
  r11683 | ivost | 2008-09-01 12:46:39 +0200 (Mon, 01 Sep 2008) | 2 lines
  
      * fixed 64bit bug in iconvenc.pas
........
  r11689 | florian | 2008-09-01 23:12:34 +0200 (Mon, 01 Sep 2008) | 1 line
  
  * fixed several errors when building on unix
........
  r11694 | florian | 2008-09-03 20:32:43 +0200 (Wed, 03 Sep 2008) | 1 line
  
  * fixed unix compilation
........
  r11695 | florian | 2008-09-03 21:01:04 +0200 (Wed, 03 Sep 2008) | 1 line
  
  * bootstrapping fix
........
  r11696 | florian | 2008-09-03 21:07:18 +0200 (Wed, 03 Sep 2008) | 1 line
  
  * more bootstrapping fixed
........
  r11698 | florian | 2008-09-03 22:47:54 +0200 (Wed, 03 Sep 2008) | 1 line
  
  + two missing compiler procs exported
........
  r11701 | florian | 2008-09-04 16:42:34 +0200 (Thu, 04 Sep 2008) | 2 lines
  
  + lazarus project for the linux rtl
........
  r11702 | florian | 2008-09-04 16:43:27 +0200 (Thu, 04 Sep 2008) | 2 lines
  
  + set unicode string procedures
........
  r11707 | florian | 2008-09-04 23:23:02 +0200 (Thu, 04 Sep 2008) | 2 lines
  
  * fixed several type casting stuff
........
  r11712 | florian | 2008-09-05 22:46:03 +0200 (Fri, 05 Sep 2008) | 1 line
  
  * fixed unicodestring compilation on windows after recent unix changes
........
  r11713 | florian | 2008-09-05 23:35:12 +0200 (Fri, 05 Sep 2008) | 1 line
  
  + UnicodeString support for Variants
........
  r11715 | florian | 2008-09-06 20:59:54 +0200 (Sat, 06 Sep 2008) | 1 line
  
  * patch by Martin Schreiber for UnicodeString streaming
........
  r11716 | florian | 2008-09-06 22:22:55 +0200 (Sat, 06 Sep 2008) | 2 lines
  
  * fixed test
........
  r11717 | florian | 2008-09-07 10:25:51 +0200 (Sun, 07 Sep 2008) | 1 line
  
  * fixed typo when converting tunicodestring to punicodechar
........
  r11718 | florian | 2008-09-07 11:29:52 +0200 (Sun, 07 Sep 2008) | 3 lines
  
  * fixed writing of UnicodeString properties
  * moved some helper routines to unicode headers
........
  r11734 | florian | 2008-09-09 22:38:55 +0200 (Tue, 09 Sep 2008) | 1 line
  
  * fixed bootstrapping
........
  r11735 | florian | 2008-09-10 11:25:28 +0200 (Wed, 10 Sep 2008) | 2 lines
  
  * first fixes for persisten unicodestrings
........
  r11736 | florian | 2008-09-10 14:31:00 +0200 (Wed, 10 Sep 2008) | 3 lines
  
  Initialized merge tracking via "svnmerge" with revisions "1-11663" from 
  http://svn.freepascal.org/svn/fpc/trunk
........
  r11737 | florian | 2008-09-10 21:06:57 +0200 (Wed, 10 Sep 2008) | 3 lines
  
  * fixed unicodestring <-> variant handling
  * fixed unicodestring property reading
........

git-svn-id: trunk@11739 -
2008-09-10 20:14:31 +00:00
michael
64e6d68a64 * Implemented StrictDelimiter without the delphi bugs (mantis #8910)
git-svn-id: trunk@11686 -
2008-09-01 16:06:28 +00:00
michael
2482742fc5 * Var -> Out parameters in tstrings.getnameval
git-svn-id: trunk@11093 -
2008-05-27 17:37:00 +00:00
giulio
028c6d9042 Inline methods inside classes unit protected by {$ifdef classesinline}
git-svn-id: trunk@10945 -
2008-05-11 10:19:01 +00:00
michael
ee1757a6c5 * Patch from Paul Ishenin to implement SetDesigning and SetDesignInstance
git-svn-id: trunk@10890 -
2008-05-05 19:34:06 +00:00
michael
2109a8b611 * Make sure fpdoc can parse through classes
git-svn-id: trunk@10771 -
2008-04-23 17:34:06 +00:00
michael
6650d151f6 * Fixed (hopefully) childpos writing
git-svn-id: trunk@10637 -
2008-04-12 18:43:17 +00:00
yury
bc50a7fd6c * Removed unused vars.
git-svn-id: trunk@10631 -
2008-04-12 13:29:48 +00:00
michael
b2253c0bd9 * Speedup for ancestor lookup using sorted list
git-svn-id: trunk@10589 -
2008-03-30 00:24:56 +00:00