Commit Graph

1353 Commits

Author SHA1 Message Date
marco
1f40ff2362 * overloaded version of raiselastoserror that allows custom errorcodes
to be raised, patch by Cytax, Mantis #21092

git-svn-id: trunk@20084 -
2012-01-15 11:54:12 +00:00
sergei
abdbe49861 + SysUtils part of SEH (enabled only for win64)
* EExternal.ExceptionRecord changed from field to property and made available on all Windows, not just win32.
* CatchUnhandledException: removed AnsiString variable, ideally there should be no memory allocations in this code path.

git-svn-id: trunk@19849 -
2011-12-14 10:47:26 +00:00
sergei
3b904943e7 * Moved ExceptObjProc from objpas to system, because it is going to be called from system. Also added ExceptClsProc variable.
* Fixed SExceptionErrorMessage, it was missing format placeholder.

git-svn-id: trunk@19787 -
2011-12-09 14:52:26 +00:00
Jonas Maebe
a4804a3c25 * let FloatToStr output the correct number of decimals in case the
first significant digit is preceded by several zeroes (patch by
    C. Western, mantis #16907)

git-svn-id: trunk@19738 -
2011-12-03 22:34:00 +00:00
sergei
e62cd71a2f * Fixed cycling with 2.4.4 after r19707 (2.4.4 does not define FPC_HAS_FEATURE_RESOURCES, so related stuff is not compiled)
git-svn-id: trunk@19711 -
2011-11-30 10:49:47 +00:00
sergei
0093517227 * sysutils: changed RunErrorToExcept to use table instead of case statement for OS exceptions. This is to be able to extract exception class alone for the upcoming SEH support.
* Some Delphi-compatible changes:
  * For floating point underflow condition, raise EUnderflow, not EOverflow.
  * For unknown codes, raise EInOutError, not Exception.
  * Added entries for EZeroDivide and EStackOverflow (actually raising EZeroDivide on floating-point division by zero requires further changes to System because currently both integer and float division by zero is mapped to the same code 200).

  

git-svn-id: trunk@19707 -
2011-11-29 18:41:13 +00:00
michael
9fc66414b5 * Avoid code duplication in TFileStream.Create
git-svn-id: trunk@19628 -
2011-11-11 17:32:17 +00:00
marco
9324726374 * const added to size (record) Mantis #20653
git-svn-id: trunk@19620 -
2011-11-11 09:32:46 +00:00
marco
94e03df0e1 * Applied patch from Lacak2 that improved compare() functionality for
values with inequal length. Mantis #20505

git-svn-id: trunk@19508 -
2011-10-18 20:21:34 +00:00
paul
80a615c542 rtl: correct error check for encoding methods arguments
git-svn-id: trunk@19399 -
2011-10-07 05:56:02 +00:00
florian
cd2488d177 * fix compilation on 64 Bit targets
git-svn-id: trunk@19393 -
2011-10-06 17:54:44 +00:00
paul
fe782eac07 rtl: add StringOf(TBytes), WideStringOf(TBytes), ByteLength(UnicodeString) for delphi compatibility
git-svn-id: trunk@19392 -
2011-10-06 07:27:27 +00:00
paul
14c2f248df rtl: add WideBytesOf(UnicodeString): TBytes for delphi compatibility
git-svn-id: trunk@19391 -
2011-10-06 06:58:07 +00:00
paul
fa43a448b9 rtl: add BytesOf(String): TBytes for delphi compatibility
git-svn-id: trunk@19390 -
2011-10-06 06:28:05 +00:00
paul
7817f5017d rtl: add TBytesStream class for compatibility with delphi (TStringStream is a descendant of TBytesStream) + test
git-svn-id: trunk@19389 -
2011-10-06 04:41:10 +00:00
paul
aa666d38ed rtl: check arguments in some TEncoding functions which uses array/string access and raise EEncodingError in case of wrong indexes or string/arrays
git-svn-id: trunk@19387 -
2011-10-06 01:14:51 +00:00
michael
c1ff89a7c2 * Fixed bug in ExeSearch, noted by Tomas
git-svn-id: trunk@19380 -
2011-10-05 07:06:57 +00:00
paul
38a706dd28 rtl: improve CodePageToCodePageName - return official name instead of one of the labels, use binary search
git-svn-id: trunk@19379 -
2011-10-05 05:57:03 +00:00
paul
09fa98a564 rtl: forgotten files
git-svn-id: trunk@19356 -
2011-10-04 05:07:22 +00:00
paul
abf9816a09 rtl: add basic implementation of TEncoding class
git-svn-id: trunk@19355 -
2011-10-04 05:06:32 +00:00
paul
0bfb83b06c rtl: add HashName function based on implementation of Hash() from objpas. It uses case case-insensitive hash generation. This function is added for compatibility with delphi (although it generates different hash in delphi and fpc for same strings). It is also needed for codepage search in hash array.
git-svn-id: trunk@19353 -
2011-10-04 04:54:42 +00:00
florian
77c3477b91 * modified patch by LacaK2 to add overloaded versions of string handling routines, which works with WideChar null terminated strings, resolves #19989
git-svn-id: trunk@19337 -
2011-10-03 16:11:46 +00:00
michael
908f9865d4 * Fixed ExcludeLeadingPathDelimiter
git-svn-id: trunk@19316 -
2011-10-01 21:47:58 +00:00
michael
c0995c2ffd * Moved string constant to sysconst
git-svn-id: trunk@19315 -
2011-10-01 14:42:54 +00:00
paul
647218fd13 rtl: patch from Inoussa to complete TCharacter class implementation (mantis #0020302):
* ToLower is functional for all characters including those outside of the BMP
  * ToUpper is functional for all characters including those outside of the BMP
  * Other methods using "const AString : UnicodeString; AIndex : Integer" are 
    functional for all characters including those outside of the BMP

git-svn-id: trunk@19286 -
2011-09-30 00:15:37 +00:00
michael
d766e671a9 * Remove using reverse search, speed up free
git-svn-id: trunk@19280 -
2011-09-29 07:59:10 +00:00
michael
4a8914cbb0 * Implemented IndexOfItem, reversed search again in IndexOf
git-svn-id: trunk@19279 -
2011-09-29 07:50:24 +00:00
michael
39d8ee1136 * Reverse IndexOf. Increases speed of freeing collection with a factor N^2
git-svn-id: trunk@19268 -
2011-09-28 17:44:32 +00:00
florian
d7f7a9bb76 * patch by Alexander Shishkin to clean up $ifopt usage by $push/$pop, resolves #20346
git-svn-id: trunk@19256 -
2011-09-27 20:22:40 +00:00
marco
b0b12d3a64 * fmtbcd divide fix (and others), Mantis #19636, fix by Lacak2. + Test
git-svn-id: trunk@19220 -
2011-09-24 21:34:39 +00:00
paul
3b9fd15af7 rtl: update character.pas by Inoussa OUEDRAOGO (issue #0020302)
* This new version contains all the unicode code points (BMP and other planes) character properties.

git-svn-id: trunk@19207 -
2011-09-24 15:17:12 +00:00
paul
8f4d02ccfa rtl: add TBytes and TUnicodeCharArray types
git-svn-id: trunk@19191 -
2011-09-23 06:19:46 +00:00
paul
eb8a54d666 rtl: add flat functions (duplicates of TCharacter methods) to character unit
git-svn-id: trunk@19190 -
2011-09-23 03:14:40 +00:00
paul
98f6ec4a05 rtl: raise EContructException in TCharacter constructor (compatible to delphi behavior)
git-svn-id: trunk@19189 -
2011-09-23 02:50:40 +00:00
paul
8af1fa3e57 rtl: fix error message
tests: add test to check utf32<->utf16 conversions

git-svn-id: trunk@19188 -
2011-09-23 02:24:30 +00:00
paul
e774a20c97 rtl:
- fix compilation of character.pas by fpc 2.4
  - check TCharacter method arguments and raise appropriate EArgumentException or EArgumentOutOfRangeException exceptions
  - implement to/from UTF32 conversion based on utf16toutf32 and friends

git-svn-id: trunk@19183 -
2011-09-23 00:28:04 +00:00
paul
1553c8da7d rtl: add EArgumentException, EArgumentOutOfRangeException classes
git-svn-id: trunk@19182 -
2011-09-23 00:07:26 +00:00
paul
59a69eaeba rtl: add TCharacter class implementation by Inoussa. At this moment only BMP(0-$FFFF) UnicodeChar are handled.
tests: add character unit tests
(mantis #0020302)

git-svn-id: trunk@19170 -
2011-09-22 00:52:51 +00:00
marco
91b017a985 * ansi(start/ends)(str/text) MBCS compatible (via widestringmgr), mantis #16153 + tests
Patch by Flavio Etrusco.

git-svn-id: trunk@19043 -
2011-09-10 15:01:46 +00:00
marco
47af891513 * change resourcestream.handle from thandle to TPFResourceHGlobal, since it is
a pointer, and handle is a 32-bit integer on 64-bit *nix.

git-svn-id: trunk@19042 -
2011-09-10 10:00:27 +00:00
sergei
0c3c8a8745 * Cast HashValue to Longint, otherwise empty strings (which have hash=$FFFFFFFF) cause range check error when RTL is compiled with -Cr.
git-svn-id: trunk@19034 -
2011-09-08 19:15:34 +00:00
sergei
689d4b3ecc + Mantis #19651: Generate table of typed string constants which are initialized with resourcestrings, so they are updated when SetResourceStrings or SetUnitResourceStrings is called.
git-svn-id: trunk@18968 -
2011-09-04 16:01:26 +00:00
marco
0cc60e05f2 * IsSamemonth analog to IsSameDay. Mantis #19876
git-svn-id: trunk@18950 -
2011-09-02 19:44:54 +00:00
florian
3e4469937c * fix Types.UnionRect as proposed by Piotr Karasinski, resolves #20006
git-svn-id: trunk@18246 -
2011-08-17 12:01:23 +00:00
florian
4c95e9fce5 * commented pdata type as proposed in #20004 by Michalis Kamburelis, resolves #20004
git-svn-id: trunk@18244 -
2011-08-17 11:47:41 +00:00
florian
ae8c250c3e * fix indention
git-svn-id: trunk@18238 -
2011-08-17 09:20:28 +00:00
florian
9b88297389 * patch by Michalis Kamburelis to keep the ending of TFPSList filled with zeros (space between count and capacity), resolves #20005
git-svn-id: trunk@18237 -
2011-08-17 09:05:58 +00:00
florian
6cb6d9ffaf * patch by Michalis Kamburelis to make FGL lists First and Last properties that are settable, resolves #19874
git-svn-id: trunk@18223 -
2011-08-16 17:11:48 +00:00
florian
3787ed993c * made some fields in fgl.pp private as proposed by Michalis Kamburelis, resolves #19873
git-svn-id: trunk@18210 -
2011-08-14 19:52:01 +00:00
florian
63403e5199 * *Dir(<ansistring>) functions need to check io result as well, resolves #19977
git-svn-id: trunk@18209 -
2011-08-14 19:00:07 +00:00