Commit Graph

90 Commits

Author SHA1 Message Date
svenbarth
4ea89d01ea Somewhat a fix for Mantis #25025 : added generic variants of the TEnumerable/TEnumerator interfaces. Added to unit ObjPas, because mode ObjFPC does not allow overloading of types with generics (which would be the case in unit System). Also the two interfaces are not completely Delphi compatible on purpose! In Delphi they inherit from corresponding non generic interfaces, but this leads in FPC as well as in Delphi to problems.
rtl/objpas/objpas.pp:
  + add generic interfaces IEnumerator<T> and IEnumerable<T> which are equivalent to TEnumerator and TEnumerable

git-svn-id: trunk@25498 -
2013-09-16 10:15:19 +00:00
Jonas Maebe
acb27f726a * assignfile(ansistring) -> assignfile(rawbytestring)
+ assignfile(unicodestring)

git-svn-id: branches/cpstrrtl@25161 -
2013-07-22 21:45:30 +00:00
Jonas Maebe
d66d15aad3 + added mkdir/chdir/rmdir(rawbytestring) and (unicodestring) to the system unit
* renamed platform-specific pchar versions of those rouines to do_*() and
    changed them to either rawbytestring or unicodestring depending on the
    FPCRTL_FILESYSTEM_SINGLE_BYTE_API/FPCRTL_FILESYSTEM_TWO_BYTE_API setting
  * implemented generic shortstring versions of those routines on top of either
    rawbytestring or unicodestring depending on the API-kind (in case of the
    embedded target, if ansistring are not supported they will map directly
    to shortstring routines instead)
  * all platform-specific *dir() routines with rawbytestring parameters now
    receive their parameters in DefaultFileSystemCodePage
  - removed no longer required ansistring variants from the objpas unit
  - removed no longer required FPC_SYS_MKDIR etc aliases
  * factored out empty string and inoutres<>0 checks from platform-specific
    *dir() routines to generic ones
  o platform-specific notes:
   o amiga/morphos: check new pathconv(rawbytestring) function
   o macos TODO: convert PathArgToFSSpec (and the routines it calls) to
     rawbytestring
   o nativent: added SysUnicodeStringToNtStr() function
   o wii: convert dirio callbacks to use rawbytestring to avoid conversion
  + test for unicode mk/ch/rm/getdir()

git-svn-id: branches/cpstrrtl@25048 -
2013-07-04 22:28:37 +00:00
Jonas Maebe
112fafc6fd + paramstr(longint):unicode string function in uuchar
* optimised objpas.paramstr (let the compiler convert the pchar to
    ansistring instead of using an unoptimised loop)

git-svn-id: branches/cpstrrtl@24958 -
2013-06-24 09:39:54 +00:00
florian
feed492568 * fixes to compile objpas i8086
git-svn-id: branches/i8086@23972 -
2013-03-23 18:27:46 +00:00
florian
0215f00490 * fix compilation of objpas if ansistrings are disabled as requested by Michael Ring on fpc-devel
git-svn-id: trunk@23256 -
2012-12-31 14:26:48 +00:00
sergei
186cbaaf18 * Ansistring versions of MkDir,ChDir,RmDir: make a full copy of argument string. This is necessary because underlying implementations can modify directory separators in argument, causing crash if argument resides in read-only memory. This is also consistent with shortstring variants of same procedures.
git-svn-id: trunk@23000 -
2012-11-16 18:27:55 +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
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
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
florian
5f06130095 * fixed objpas compilation for CPUs with 16 Bit addresses
git-svn-id: branches/avr@17104 -
2011-03-09 19:41:36 +00:00
florian
138c5d1570 + feature switch RESOURCES
* use of feature switches in objpas updated
+ build unit objpas for embedded targets

git-svn-id: trunk@15473 -
2010-06-22 12:37:41 +00:00
marco
4104d9f481 * More pluggability of the RTL. Mantis 15124
git-svn-id: trunk@14212 -
2009-11-18 21:16:12 +00:00
marco
17062d667c * ansistring versions of mk/rm/chdir in objpas, Mantis 15010. The os-dependant routines of *nix/os2/win/dos have been converted
git-svn-id: trunk@14211 -
2009-11-18 18:04:51 +00:00
Jonas Maebe
ee69d00bec - unconditionally enabled {$ifdef PARAOUTFILE}-code (that define was
decomissioned quite a while ago, but this file was forgotten in
    that process)

git-svn-id: trunk@13181 -
2009-05-21 09:57:45 +00:00
Almindor
920660c460 * fix AssignFile to use "out" if the PARAMOUT define is defined (fixes 9275)
git-svn-id: trunk@8080 -
2007-07-16 21:47:31 +00:00
michael
07fdede9b8 * Defined ExceptionClass and ExceptObjProc for Delphi compatibility (bug 8459)
git-svn-id: trunk@7850 -
2007-06-29 20:16:44 +00:00
daniel
ecf9363211 - Do not initialize/finalize resourcestrings in objpas.
+ Finalize resourcestrings in gettext.

git-svn-id: trunk@5640 -
2006-12-18 22:05:32 +00:00
marco
fe43dc6266 * iocheck for closefile
git-svn-id: trunk@3946 -
2006-06-25 18:36:12 +00:00
marco
0f53f299f1 * fix for oldbugid 4365 new id 6279
closefile no longer under {dollar I-}

git-svn-id: trunk@3937 -
2006-06-25 11:17:18 +00:00
peter
096113d370 * support setting translations per unit
* store unitname as the first entry in the resourcestring table

git-svn-id: trunk@2987 -
2006-03-20 12:07:29 +00:00
peter
ddfa0bd1dd * use resourcstring table again
git-svn-id: trunk@2979 -
2006-03-19 21:16:32 +00:00
peter
9d96f32bdc * remove resourcestring tables
git-svn-id: trunk@2835 -
2006-03-10 15:20:35 +00:00
florian
f5b9130b98 * deallocation of translated resourcestrings
* load heaptrc before objpas

git-svn-id: trunk@549 -
2005-06-30 19:07:45 +00:00
michael
23ad0ae1ec + Removed HASINTF and VER1_0 defines
git-svn-id: trunk@239 -
2005-06-07 20:30:03 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
peter
8be342c36b * pinteger in non-delphi/objfpc mode is psmallint 2005-01-24 18:03:19 +00:00
michael
78aa08c8be + Paramstr(0) must return binary name 2003-05-29 08:43:52 +00:00
peter
9f31783a0a * old logs removed and tabs fixed 2002-09-07 16:01:16 +00:00
peter
77bb50032c * delphi compatible array types 2002-01-25 17:41:25 +00:00
peter
0816ae4006 * regenerated 2002-01-06 21:59:08 +00:00
peter
f6021a93ba * LoadResString, PResStringRec, TResStringRec compatibility added 2001-10-22 21:19:33 +00:00
florian
6476fbf2fe * fixed and added a lot of stuff to get the Jedi DX( headers
compiled
2001-08-19 21:02:01 +00:00
peter
4a627c29d9 * generate error for closefile 2001-08-01 21:43:11 +00:00
Jonas Maebe
200e1d4b25 * removed warnings about possible range check errors 2000-12-16 15:58:18 +00:00
marco
80c0edc14f * Unix renamefest for defines 2000-11-13 14:41:20 +00:00
michael
586c4cea50 + Conditionals fixed 2000-07-14 10:33:09 +00:00
michael
650fbb86aa + removed logs 2000-07-13 11:32:24 +00:00
michael
e7aca136a1 + Initial import 2000-07-13 06:29:38 +00:00
peter
6b66a55cd6 * truncated log 2000-02-09 16:59:28 +00:00
daniel
ec29a31834 * copyright 2000 2000-01-07 16:41:28 +00:00
daniel
a79b4a404b * copyright 2000 added 2000-01-07 16:32:21 +00:00
peter
3499c21355 * integer is defined as longint, removed smallint which is now in system 1999-12-20 11:20:35 +00:00
peter
aa083c5b4d * truncated log 1999-11-06 14:35:38 +00:00
peter
71d7f4ef38 * memorymanager expanded with allocmem/reallocmem 1999-10-30 17:39:05 +00:00
peter
76e74294cb * moved tvarrec to systemunit 1999-10-03 19:41:30 +00:00
florian
24fceb0a6c * fixed bug #626, objpas must redefine maxint! 1999-09-28 21:13:33 +00:00