Commit Graph

723 Commits

Author SHA1 Message Date
svenbarth
176a63b67b * fix for Mantis #35862: free the list of functions added with AddTerminateProc to avoid memory leaks
+ added test

git-svn-id: trunk@42457 -
2019-07-19 15:55:21 +00:00
svenbarth
48d0ab1af9 * fix for Mantis #35744: applied patch by Anton Kavalenka to correctly implement FileGetSymLinkTarget
git-svn-id: trunk@42456 -
2019-07-19 15:55:15 +00:00
marco
2bebfeca3a * return to findexinfostandard, because it didn't work (only changes reporting, not searching).
However the sfn was user accessable via finddata, so for now enable that aain, mantis 35773

git-svn-id: trunk@42326 -
2019-07-05 09:12:47 +00:00
marco
c914655a67 * ignore sfn in findfirst win7+ mantis #35742. Entangled with symlink support
git-svn-id: trunk@42286 -
2019-06-26 16:35:37 +00:00
marco
f5e684067d * turn off MB_PRECOMPOSED for encodings named in MSDN multibytetowidechar function, as detailed by Aserge in https://forum.lazarus.freepascal.org/index.php?topic=45380.0;topicseen
git-svn-id: trunk@42043 -
2019-05-12 14:18:36 +00:00
marco
1c583d3e0d * getguiresources + constants, mantis 035546 by 440bx
git-svn-id: trunk@42030 -
2019-05-10 15:21:32 +00:00
marco
6a6436c076 * RealChildWindowFromPoint, mantis 035552 by 440bx
git-svn-id: trunk@42029 -
2019-05-10 15:14:46 +00:00
marco
d80d564a20 * realgetwindowclass, mantis 035551
git-svn-id: trunk@42028 -
2019-05-10 15:11:48 +00:00
marco
d942509db4 * add getshellwindow, by 440bx mantis 035548
git-svn-id: trunk@42027 -
2019-05-10 14:56:09 +00:00
marco
eae156d07e * fix for mantis 035530 by 440bx, process_ and thread_ constants.
git-svn-id: trunk@42013 -
2019-05-06 15:48:11 +00:00
marco
caa5e54b00 * add openthread, mantis 035529 by 440bx
git-svn-id: trunk@42008 -
2019-05-06 11:33:40 +00:00
marco
8a23e813ca * GetPhysicallyInstalledSystemMemory mantis 035439 by 440bx
git-svn-id: trunk@41930 -
2019-04-25 09:06:23 +00:00
marco
982bef0ed8 * iswow64present and enable*fsredirection with a byte as param because the BOOLEAN type is a byte according to MSDN. Mantis 035429
git-svn-id: trunk@41926 -
2019-04-23 07:50:12 +00:00
marco
573666405d * wow64 related functions from mantis 034328
git-svn-id: trunk@41925 -
2019-04-22 19:51:41 +00:00
marco
75cdae9836 * add uint typecast to some negative message numbers Mantis 035324
git-svn-id: trunk@41922 -
2019-04-22 09:42:44 +00:00
marco
febb1aab0b * IsDebuggerPresent, bug #35422
git-svn-id: trunk@41921 -
2019-04-21 18:12:57 +00:00
marco
7acd242683 * PROCESS_QUERY_LIMITED_INFORMATION, mantis 35423
git-svn-id: trunk@41920 -
2019-04-21 18:10:12 +00:00
marco
afa6aaab95 * PROCESS_NAME_NATIVE constant
git-svn-id: trunk@41919 -
2019-04-21 18:06:09 +00:00
marco
6559033d2d * QueryFullProcessImageName
git-svn-id: trunk@41918 -
2019-04-21 18:00:24 +00:00
marco
28c15a95d5 * Mantis 35257 modifyworldtransform, defined with var parameter could also take NIL. Split into straight pointer + redef var overload.
git-svn-id: trunk@41893 -
2019-04-18 09:00:42 +00:00
marco
07c21e5128 * and the setters.
git-svn-id: trunk@41892 -
2019-04-17 16:01:50 +00:00
marco
e9c2f46172 * fix mantis 35368 and mantis 35369
git-svn-id: trunk@41891 -
2019-04-17 15:57:05 +00:00
marco
0d87116b81 * add MB_CANCELTRYCONTINUE and MB*MASK constants. mantis 35244
git-svn-id: trunk@41861 -
2019-04-11 08:11:31 +00:00
marco
8564fe7f24 * add readdirectorychangedw (only -W function) mantis 35311
git-svn-id: trunk@41857 -
2019-04-10 14:48:27 +00:00
marco
d5f2764dd3 * readd bottomleft #35350
git-svn-id: trunk@41854 -
2019-04-09 13:21:17 +00:00
marco
162bd5e251 * metrics constants by Gareth and 440bx. Added SM_CARETBLINKINGENABLED for good measure.
git-svn-id: trunk@41845 -
2019-04-06 14:57:50 +00:00
svenbarth
a735dc28ae * fix for Mantis #35204: TThreadID is a DWord even on Windows 64-bit, so declare it accordingly
git-svn-id: trunk@41636 -
2019-03-08 14:47:25 +00:00
svenbarth
9ddf90b059 + fix for Mantis #35203: add TLS_OUT_OF_INDEXES constant to Windows unit
git-svn-id: trunk@41635 -
2019-03-08 14:47:22 +00:00
marco
12e98d891a * GetComputerNameEx/A/W Mantis #35115
git-svn-id: trunk@41562 -
2019-03-02 21:09:18 +00:00
marco
474ecfba3a * fix for #35119 geterrormode declaration by 440bx.
git-svn-id: trunk@41560 -
2019-03-02 18:24:42 +00:00
marco
a5ce9a9ab6 * fix for #35111 EnumTimeFormatsEx. Prepared by 440bx
git-svn-id: trunk@41559 -
2019-03-02 18:22:01 +00:00
marco
eb5aa0f8cf * add missing file_attribute constants, mantis #35120
git-svn-id: trunk@41556 -
2019-03-02 14:46:27 +00:00
marco
980d812ca4 * Fix for #35146 getfullpathname.
* asc* uni* versions become pointer variants.
 * delphi overloads move to redef. 
 * remove old comment (<2005) from redef. Possible related to constness. (LPCSTR vs LPSTR)
 * also added $ifdef unicode version. Most redefs don't. 

git-svn-id: trunk@41555 -
2019-03-02 14:35:33 +00:00
michael
2b876c6079 * Actually call InitLeadBytes
git-svn-id: trunk@41337 -
2019-02-16 10:52:51 +00:00
michael
3fcc1c5f0e * Complete the implementation of IsLeadChar
git-svn-id: trunk@41336 -
2019-02-16 10:50:31 +00:00
marco
d6b39276bb * makerop to dword mantis #34712
git-svn-id: trunk@41269 -
2019-02-09 17:53:05 +00:00
marco
46aa5f2712 * _S_ and _E_ first and last were already there, just in an unexpected winerror. Found after testing ->revert all but the last line.
git-svn-id: trunk@41266 -
2019-02-09 13:41:22 +00:00
marco
ec87ab2870 * some _E_ and _S_ constants from winerror.h used in activex patch.
git-svn-id: trunk@41265 -
2019-02-09 13:34:52 +00:00
marco
3a6d0d9d41 * flashwindowex, mantis #35048, patch by 440bx
git-svn-id: trunk@41262 -
2019-02-09 12:07:30 +00:00
marco
6ec527df23 * add IDANI_CAPTION, mantis #35042
git-svn-id: trunk@41254 -
2019-02-08 10:25:30 +00:00
marco
76bb5d1a22 * add loadlibraryex flags, mantis #35041
git-svn-id: trunk@41253 -
2019-02-08 10:18:52 +00:00
marco
04f9d8b350 * problems reported by nanobit mantis #34850 corrected.
- (probably Copy and paste) error  in emrpolyline16
    - EMREXTCREATEFONTINDIRECTW.elfw  is of a W type
    - a few missing ^ pointer to's. 
  

git-svn-id: trunk@40842 -
2019-01-11 14:01:15 +00:00
marco
f8050815ea * pre shutdown constants + in general those series of constants refreshed
git-svn-id: trunk@40096 -
2018-10-30 09:03:46 +00:00
marco
0b9ee238b5 * windows unit enhancements from mantis #34184
git-svn-id: trunk@39675 -
2018-08-27 18:11:40 +00:00
svenbarth
d8f024a490 * improve DirectoryExists() and FileExists() based on patch by Serge Anvarov in Mantis #32370 so that they also support files/directories that aren't accessible (e.g. the page file) as well as FollowLink = False
git-svn-id: trunk@39672 -
2018-08-24 15:34:09 +00:00
svenbarth
e110d90127 + implement FileGetSymLinkTarget() based on patch by Serge Anvarov in Mantis #32370
git-svn-id: trunk@39671 -
2018-08-24 15:34:04 +00:00
svenbarth
b9721003f0 + add missing defines
git-svn-id: trunk@39670 -
2018-08-24 15:33:55 +00:00
svenbarth
09e5f463dc + add Delphi-compatible FileGetSymLinkTarget functions to all platforms (currently returns False on all platforms); this also includes TSymLinkRec variants for both RawByteString and UnicodeString
git-svn-id: trunk@39669 -
2018-08-24 15:33:45 +00:00
svenbarth
92dcdd8b5b + add Delphi compatible FollowLink parameter (default is True) to FileExists and DirectoryExists; support for it is up to each target
git-svn-id: trunk@39668 -
2018-08-24 15:33:09 +00:00
marco
a94205280c * fixes mantis 34008, some copy paste errors in -A and -W suffixes.
Note that the enumfont* functions seem to use the var prototypes, while only redef functions should use them. Probably not worth breaking compat for though (in since 2016)

git-svn-id: trunk@39480 -
2018-07-21 12:29:18 +00:00
florian
254aa0e9e1 * consistent naming of lData field in NEWCPLINFO
git-svn-id: trunk@38694 -
2018-04-06 09:59:22 +00:00
michael
16ba47be46 * Patch from Ondrej Pokorny to convert unit names to CamelCase (bug ID 33481)
git-svn-id: trunk@38616 -
2018-03-23 22:06:36 +00:00
michael
ccbaf748b8 * Fix bug ID #33133 (use newer Windows API if available)
git-svn-id: trunk@38328 -
2018-02-24 12:18:55 +00:00
florian
b421ed0db1 * fixed TranslateMxcsr
+ correctly handle sse exceptions on i386, resolves #32671
+ test

git-svn-id: trunk@38268 -
2018-02-17 15:40:49 +00:00
marco
19b47e54bb * win32/64 stdio handles don't have fixed numbers, remove very old check
on handle <=4. Mantis #27221, by Anton Rzheshevski

git-svn-id: trunk@38189 -
2018-02-10 13:53:20 +00:00
marco
af85960d62 * East Asian locales era patch from Mantis #33003
git-svn-id: trunk@37944 -
2018-01-11 10:29:32 +00:00
marco
d385546d71 * CB_GETCOMBOBOXINFO from patch mantis #32890
git-svn-id: trunk@37884 -
2017-12-30 22:06:49 +00:00
marco
f9364648c1 * some update to filechange attributes by Pascal Riekenberg, mantis #32833
git-svn-id: trunk@37774 -
2017-12-21 14:22:36 +00:00
marco
2cf1d1d51d * enhmetafileproc/enummetafileproc fix. Reported by Oleg, mantis #32751
git-svn-id: trunk@37633 -
2017-11-29 10:13:34 +00:00
svenbarth
4f39e57f62 * move PWSTR declaration to unit Windows
git-svn-id: trunk@37358 -
2017-09-29 19:51:56 +00:00
marco
b6824290fc * initial fileflush, mantis #15824
git-svn-id: trunk@37135 -
2017-09-03 16:41:32 +00:00
michael
b1f2b6aeb9 * Add some missing pointer declarations and HWND_MESSAGE (bug ID 30450)
git-svn-id: trunk@36766 -
2017-07-23 08:54:16 +00:00
michael
2f9627f9f5 * Add missing functions from wincon.h (bug id 29963)
git-svn-id: trunk@36742 -
2017-07-18 07:22:38 +00:00
michael
743a000675 * Fix handle leak in case findfirst returns not 0. (bug ID 32012)
git-svn-id: trunk@36510 -
2017-06-18 08:19:34 +00:00
nickysn
b4d7959c7a + added the MAPVK_* winapi constants (used with MapVirtualKey/MapVirtualKeyEx)
git-svn-id: trunk@36412 -
2017-06-03 22:23:38 +00:00
marco
91513dc414 * menubarinfo, remove packed (64-bit fix)
git-svn-id: trunk@36315 -
2017-05-24 17:02:54 +00:00
pierre
eb378c1b94 Replace __tls_used for win64 by an alias of _tls_used
git-svn-id: trunk@36120 -
2017-05-05 14:27:04 +00:00
marco
5a8578cfaa * dword -> dword_ptr in sendmessagetimeout (3x), mantis #31661
git-svn-id: trunk@35792 -
2017-04-14 15:52:03 +00:00
florian
bb8b8f2eae * do not set IsMultithread on windows, if no second thread is started, resolves #30535
git-svn-id: trunk@35567 -
2017-03-11 21:35:48 +00:00
Tomas Hajny
e5ceb04725 * patch by Dmitry Boyarintsev (bug #31023) implementing SysSetCtrlBreakHandler for Win32 and Win64
git-svn-id: trunk@35050 -
2016-12-03 23:35:20 +00:00
michael
aef26e86d8 * Fix bug #31040
git-svn-id: trunk@35027 -
2016-12-01 15:13:11 +00:00
Tomas Hajny
1e6ee7f3c7 * fix remaining search handle leaks in Dos.FSearch - fix for bug #30896
git-svn-id: trunk@34910 -
2016-11-17 22:05:17 +00:00
Tomas Hajny
b7de70422f * fix for bug #24504 (extended version of patch by Bart Broersma)
git-svn-id: trunk@34849 -
2016-11-08 22:16:49 +00:00
svenbarth
f8b458106e * fix for Mantis #30747: for anonymous events CreateEvent() needs to be called with a Nil parameter for the name, not an empty string
git-svn-id: trunk@34736 -
2016-10-16 19:29:49 +00:00
Jonas Maebe
e5a1231931 * updated FSF address (mantis #30198, patch by Paul Gevers)
git-svn-id: trunk@34598 -
2016-10-02 12:56:59 +00:00
marco
fe99472d22 * fix missing 'kernel32' reported on forum by "DG"
git-svn-id: trunk@34571 -
2016-09-28 14:24:53 +00:00
svenbarth
2808be3e20 + add and use sysinit unit for Win64 (only one since we don't support cygwin and gprof there)
* switch Win64 to indirect entry information

git-svn-id: trunk@34307 -
2016-08-13 19:10:27 +00:00
yury
e3ebaa6e6a * Remove trailing #13#10 in the result of SysErrorMessage() on Windows and minor optimization. It is Delphi compatible.
git-svn-id: trunk@34220 -
2016-07-29 10:23:12 +00:00
pierre
7efce7f121 Rewrite CommandLine creation in Dos.Exec function to avoid problems when ComLine is 255 characters long
git-svn-id: trunk@34015 -
2016-06-21 10:13:41 +00:00
svenbarth
3f45860cf9 Use constref instead of const when passing TEntryInformation along
git-svn-id: trunk@33951 -
2016-06-11 20:45:47 +00:00
svenbarth
535621faaa Rename FPC_HAS_INDIRECT_MAIN_INFORMATION to FPC_HAS_INDIRECT_ENTRY_INFORMATION which is more logical considering the record's name
git-svn-id: trunk@33950 -
2016-06-11 20:38:22 +00:00
nickysn
bffe9480f4 + added the winapi functions, structures and constants for raw keyboard and mouse input
git-svn-id: trunk@33746 -
2016-05-22 01:59:27 +00:00
svenbarth
788393c298 Change WideString initialization to work correctly with indirect main information as well
rtl/inc/systemh.inc & rtl/java/jsystemh_types.inc:
  - TEntryInformation: remove WideInitTables
rtl/win/sysosh.inc:
  + TEntyrInformationOS: add WideInitTables
rtl/win/syswin.inc:
  * adjust WStrInitTablesTable, so that it is now a pointer and can be used both with direct and indirect main entry
  * InitWin32Widestrings: WStrInitTablesTable is now a pointer
rtl/win32/sysinit.inc:
  * WideInitTables has moved to the OS specific part of the entry information
rtl/win32/system.pp:
  * OsSetupEntryinformation: setup WStrInitTablesTable

git-svn-id: trunk@33571 -
2016-04-29 13:13:14 +00:00
Tomas Hajny
92d045c483 * GetStdHandle returns a THandle (use of longint was not 64-bit safe)
git-svn-id: trunk@33460 -
2016-04-10 01:26:30 +00:00
michael
ad34300873 * Patch from Denis Kozlov to fix buffer errors (bug ID 29942)
git-svn-id: trunk@33406 -
2016-04-02 09:13:56 +00:00
michael
e3aaeae2e7 * Fix bug ID #29913
git-svn-id: trunk@33363 -
2016-03-28 13:16:31 +00:00
michael
65c880a7f6 * Use STACK_SIZE_PARAM_IS_A_RESERVATION for stack sizes, should fix bug ID #17755
git-svn-id: trunk@33346 -
2016-03-27 11:12:47 +00:00
michael
12d7061212 * Define STACK_SIZE_PARAM_IS_A_RESERVATION
git-svn-id: trunk@33345 -
2016-03-27 11:11:54 +00:00
marco
66608fec02 * unicode executeprocess from work during Lazarus convention in IJsselstein
git-svn-id: trunk@33290 -
2016-03-19 17:59:42 +00:00
marco
3ca2c1553d * copyfileexw (mantis #29729)
git-svn-id: trunk@33227 -
2016-03-12 22:30:23 +00:00
marco
0bfdfe20ea * second batch of mantis #29762 related -w function fixes..
git-svn-id: trunk@33217 -
2016-03-11 15:52:08 +00:00
marco
5e8bc3a631 * mantis #29762 unicode structure problems fixed up to and including MessageBoxIndirectW
git-svn-id: trunk@33216 -
2016-03-11 12:07:36 +00:00
michael
c0487d7ef9 * Fix bug ID #29784
git-svn-id: trunk@33154 -
2016-03-05 15:00:40 +00:00
marco
1ae1e9310b * defined -A and -W structs and callback for a couple of functions Mantis #0029762
git-svn-id: trunk@33143 -
2016-03-02 13:46:37 +00:00
svenbarth
af53fcb48c Adjust SysInstance so that it is correctly handled with the indirect entry information on Win32
win/sysosh.inc, TEntryInformationOS:
  + new field SysInstance that will hold the address to the main program's SysInstance variable
win32/system.pp:
  * rename SysInstance to FPCSysInstance and make it a PLongInt
  * OsSetupEntryInformation: setup FPCSysInstance
  * adjust initialization of SysInstance to use FPCSysInstance instead
win32/sysinit.inc:
  * SysInstance is no longer an external
  * initialize the OS.SysInstance field of EntryInformation
win64/system.pp:
  * add a FPCSysInstance that's a pointer to SysInstance
win/winres.inc:
  * SysInstance is now a pointer and has the same name on both Win32 and Win64

git-svn-id: trunk@33107 -
2016-02-19 16:22:20 +00:00
svenbarth
6afda909d4 Rework TlsKey handling on Windows so that it works as intended with indirect main information
rtl/inc/system.inc:
  * SetupEntryInformation: call new, optional function OSSetupEntryInformation to handle platform specific entry information initialization
rtl/win/sysosh.inc, TEntryInformationOS:
  + new field TlsKeyAddr which will hold the address to the main binary's TlsKey variable
win32/sysinit.inc:
  + provide the variable holding the TlsKey and pass that on to the entry information record
win32/system.pp:
  + new OS specific entry information initialization (currently only the TlsKey)
win/systhrd.inc:
  * declare TlsKey as a pointer to a DWord value instead of a DWord; on non-indirect entry platforms this is initialized with the address of new variable TlsKeyVar, on indirect entry platforms it will be initialized by the entry information initialization
  * adjust usages of TlsKey from DWord to PDWord
win/systlsdir.inc:
  * TlsKey is now a PDWord and (in sysinit) points to TlsKeyVar
win/syswin.inc:
  * adjust TlsKey usage
inc/heaptrc.pp:
  * TlsKey is now a PDWord, thus adjust the import and the usage

git-svn-id: trunk@33091 -
2016-02-12 17:03:52 +00:00
svenbarth
1951b8aaaa Fix threadvar handling. Basically a merge of r31913 of my packages branch.
rtl/inc/system.inc:
  * provide a public alias for SetupEntryInformation so that it can be used in SysInit as well without globally exporting it
rtl/win/systlsdir.inc:
  * Exec_tls_callback: call SetupEntryInformation before initalizing the heap and multithreading so that the threadvar tables can be referenced correctly

git-svn-id: trunk@33035 -
2016-01-30 23:10:35 +00:00
svenbarth
e3060130a4 Adjustments so that the resource string related tables are provided inside the system unit (both for indirect and direct entry targets).
rtl/inc/system.inc:
  + new variables that hold pointers to the tables
  + new procedure SetupEntryInformation() that should be used in the entry points of indirect entry targets to setup cross target fields
  + for direct entry targets the two resource string tables are imported here and supplied as initialization to the table pointers
objpas/objpas.pp:
  * adjust table declarations so that the pointers provided from the System unit are used
  * adjust usages of the tables as they are now pointers
win32/system.pp:
  * Exe_Entry: use SetupEntryInformation()
win/syswin.inc:
  * Dll_Entry: use SetupEntryInformation()

git-svn-id: trunk@33028 -
2016-01-29 17:19:33 +00:00
svenbarth
7e1e947b71 asm_exit is only needed on Win32 (Note: the removal of asm_exit from TEntryInformation in the previous commit should have been in this one -.- )
rtl/win32/sysosh.inc:
  + add TEntryInformationOS for Win32 which contains asm_exit
rtl/win32/system.pp:
  * EntryInformation: adjust initialization
  * system_exit: call the correct function variable
rtl/win32/sysinit.inc:
  * SysInitEntryInformation: adjust initialization
  * SetupEntryInformation: adjust commented setup of the function variable
rtl/java/jsystemh_types.inc:
  * adjust TEntryInformation for consistency reasons

git-svn-id: trunk@33025 -
2016-01-29 15:36:58 +00:00
michael
10e7570948 * Applied patch from Thaddy de Koning (Bug ID 29405)
git-svn-id: trunk@32946 -
2016-01-15 17:30:48 +00:00
florian
d4d4689914 * use FormatMessageW in SysErrorMessage, resolves issue #29197
git-svn-id: trunk@32835 -
2016-01-03 15:56:31 +00:00
Tomas Hajny
b48b758a23 * fix for bug #29158 - added definition of REMOTE_NAME_INFOW (and REMOTE_NAME_INFOA), the W version used in ExpandUNCFileName now
git-svn-id: trunk@32692 -
2015-12-21 02:05:13 +00:00
marco
ffff774ff2 * fixes by lks of base.inc procptr types (one long->plong, three dword_ptr to ulong_ptr) fixes mantis #29023
git-svn-id: trunk@32456 -
2015-11-22 11:04:37 +00:00
marco
700a22f420 * revert accidentally committed part of executeprocess patch
git-svn-id: trunk@32334 -
2015-11-15 18:47:42 +00:00
marco
92960ff3ac * initial advanced records support for TSize..TRect and -F.
git-svn-id: trunk@32333 -
2015-11-15 18:34:19 +00:00
michael
aa7058e82d * Patch from Ondrej Pokorny to fix broken compilation after 32275
git-svn-id: trunk@32278 -
2015-11-09 07:36:01 +00:00
michael
fde42ca8ef * Type helpers, compatible to Delphi XE 8
git-svn-id: trunk@32262 -
2015-11-07 09:40:54 +00:00
marco
c402bffc69 * part of mantis 028134, cleanup of NORM_ constants
git-svn-id: trunk@30918 -
2015-05-26 17:44:09 +00:00
marco
076e43f799 * try to beautify image_delayload_descriptor a bit. But a 1:1 structure
is not possible I think (unless we forfeit the bitpack alternative)

git-svn-id: trunk@30279 -
2015-03-22 19:54:53 +00:00
marco
57212decc8 * ugly auto conversion IMAGE_IMPORT_DESCRIPTOR and _IMAGE_TLS_DIRECTORY64/32 fixed.
* IMAGE_EXPORT_DIRECTORY

(see comments mantis #27674 )

git-svn-id: trunk@30264 -
2015-03-20 14:01:28 +00:00
marco
882d42eb86 * change image_* macros to unsigned, half of bug #27674
git-svn-id: trunk@30256 -
2015-03-17 22:30:31 +00:00
marco
f79a8c1544 * IMAGE_FIRST_SECTION
git-svn-id: trunk@30185 -
2015-03-14 11:16:12 +00:00
marco
698a068da7 * Missing symbols from mantis #27657 except macro IMAGE_FIRST_SECTION
git-svn-id: trunk@30182 -
2015-03-13 20:08:29 +00:00
Tomas Hajny
dff7cb3c3c * added missing error constant
git-svn-id: trunk@29808 -
2015-02-23 11:19:50 +00:00
Tomas Hajny
b9f88aa80c * mapping of I/O error number 206 having different meaning in FPC to RTE 3
git-svn-id: trunk@29797 -
2015-02-22 22:25:44 +00:00
marco
8e2f8d7f3c * for wince use getprocessaddresa, mantis #27450
git-svn-id: trunk@29684 -
2015-02-13 10:23:05 +00:00
svenbarth
2d454dc8fa Move DynLibs support to System unit using a manager approach like for Threads, WideStrings, etc.. This is needed so that we can support features like "delayed" and loading of dynamic packages.
Each port that allows the usage of dynamic libraries should call InitSystemDynLibs during initialization of the System unit.
The DynLibs unit has been adjusted to be a forwarder for the functions that now reside in the System unit (for backwards compatiblity just in case). Additionally the unit will register the DynLibsManager if it doesn't reside in the System unit anyway.
Currently only the Windows targets (Win32, Win64 and WinCE) implement the DynLibsManager inside the System unit. For other systems using the LoadLibrary, etc. functions will lead to a run error/exception.
If a port wants to implement its own DynLibsManager then it needs to define DISABLE_NO_DYNLIBS_MANAGER. TLibHandle, NilHandle and optionally TOrdinalEntry (it's set to SizeUInt otherwise) should be defined in sysdlh.inc which needs to be enabled using the define FPC_SYSTEM_HAS_SYSDLH (because there are targets which have FEATURE_DYNLIBS enabled, but don't support them... e.g. powerpc-wii -.-).
The DynLibsManager contains methods for loading a library based on a RawByteString and based on a UnicodeString. BOTH should be implemented, but internally one can forward to the other.
The loading by ordinal *can* be be implemented. If it is set to Nil then the implementation of GetProcAddress(lib,ordinal) will return Nil.

+ new functions SetDynLibsManager and GetDynLibsManager to set and retrieve the current DynLibsManager
* provide interface of DynLibs unit in unit System

git-svn-id: trunk@29613 -
2015-02-03 20:00:00 +00:00
marco
43121ed5e1 * Fix for #27228
git-svn-id: trunk@29365 -
2015-01-01 00:27:18 +00:00
pierre
7bbb30ccd4 * Reset filerec mode field to fmClosed if the system call to open the file failed
git-svn-id: trunk@29132 -
2014-11-23 21:49:29 +00:00
pierre
90537e94a0 Call Errno2noutres if system call to close the handle fails in do_close for win and unix
git-svn-id: trunk@29095 -
2014-11-20 22:00:35 +00:00
pierre
260c6583cf Only set StdInputHandle, StdOutputHandle and StdErrorHandle once
git-svn-id: trunk@29094 -
2014-11-20 21:57:15 +00:00
marco
3fbcca0e77 * change ulargeinteger quadpart to unsinged, mantis #27023
git-svn-id: trunk@29059 -
2014-11-11 08:30:14 +00:00
marco
20833d4bc9 * change ContextTrackingMode field to boolean. Mantis #26892
git-svn-id: trunk@28883 -
2014-10-19 20:30:11 +00:00
marco
bcfe5eb146 * large image aware PE flag value. Fixes Delphi programs that set peflags with constant.
git-svn-id: trunk@28737 -
2014-10-04 11:14:56 +00:00
svenbarth
b79e7ce1f9 Implement GetCPUCount for Windows OSes. This is for all three Windows targets.
rtl/win/sysos.inc:
  + add definition of TSystemInfo structure
  + add import of GetSystemInfo
  + add implementation of GetCPUCount which returns value for number of processors retrieved by GetSystemInfo

git-svn-id: trunk@28643 -
2014-09-12 18:40:59 +00:00
marco
eb67f66e10 * add taglogfont out of compatibility, patch by Ocean, mantis #0026539
git-svn-id: trunk@28470 -
2014-08-19 17:45:23 +00:00
marco
a4a11cb149 * startupinfo was declared with lpTstr. splitted in the usual A/W/- variants
git-svn-id: trunk@28240 -
2014-07-19 22:22:49 +00:00
marco
0a0739b916 * improved winexec comment, updated copyright year and add minor comment to gettickcount64
Mantis #26238

git-svn-id: trunk@27834 -
2014-05-31 14:47:31 +00:00
michael
d5a88caecd * Do not display error message if NoErrMsg is set.
git-svn-id: trunk@27765 -
2014-05-11 10:19:04 +00:00
marco
959ea7f5bb * printer unit moved. Amiga unit also moved but it is not actively used.
git-svn-id: trunk@27351 -
2014-03-29 20:35:28 +00:00
nickysn
fb20791cbe * replaced all the remaining uses of nativeint in the rtl with either sizeint
or objpasint

git-svn-id: trunk@27237 -
2014-03-23 13:38:16 +00:00
sergei
e79e038f9c + Win32/Win64 SEH: STATUS_FLOAT_MULTIPLE_(FAULTS|TRAPS) need additional handling. Makes floating-point exceptions consistent between x87 and SSE.
git-svn-id: trunk@27177 -
2014-03-17 22:49:29 +00:00
nickysn
5242ed7864 * changed TResStrInitTable.Count and TWStrInitTablesTable.Count to nativeint
git-svn-id: trunk@26921 -
2014-03-02 13:27:59 +00:00
sergei
1f22c2de22 - Text i/o routines are not expected to return a value.
git-svn-id: trunk@26834 -
2014-02-22 13:42:41 +00:00
sergei
c83f4c5ddc * Windows targets: removed 'errno' threadvar, OS error codes can be passed directly to Errno2InOutRes().
git-svn-id: trunk@26815 -
2014-02-19 07:28:46 +00:00
sergei
489b23cecd * Made TStartupInfo type common for win32 and win64 and updated as suggested by Mantis #23074.
* Deprecated StartupInfo variable because it is not there for Delphi compatibility (Delphi apparently does not have such variable in interface of its System unit), and we don't have other reasons to export non-portable stuff.

git-svn-id: trunk@26810 -
2014-02-18 16:49:08 +00:00
sergei
5e762cc6ea * Second part of 64-bit Windows fixes and updates from Mantis #23074.
git-svn-id: trunk@26807 -
2014-02-18 09:26:47 +00:00
sergei
83deae45b8 * First part of 64-bit Windows fixes from Mantis #23074.
git-svn-id: trunk@26806 -
2014-02-18 02:10:35 +00:00
michael
f2d163cd38 * Fixed bug ID #23290 (FileSetDate on Dir)
git-svn-id: trunk@26682 -
2014-02-06 12:01:25 +00:00
Tomas Hajny
1a430d8110 * GetProcAddr added for OS/2, type of argument for ordinal target specific now
git-svn-id: trunk@26521 -
2014-01-19 21:15:26 +00:00
svenbarth
6273192ce1 + Add a new overload to DynLibs to allow loading by Ordinal only. This needs specific operating system support however and will return Nil (using a default implementation) if ordinals are not supported.
+ Implement overload for the three supported Windows targets.

git-svn-id: trunk@26457 -
2014-01-14 15:23:55 +00:00
marco
f09374a197 * winsock(and -2), sockets and gpm to rtl-extra.
git-svn-id: trunk@26426 -
2014-01-11 19:45:37 +00:00
marco
dea2c743d5 * Initial active version of
rtl-extra : objects matrix ucomplex
   rtl-objpas: convutil(s) dateutil(s) stdconvs variants varutils
   

git-svn-id: trunk@26398 -
2014-01-05 19:20:15 +00:00
Jonas Maebe
d1b2a5f362 * changed the initial value DefaultFileSystemCodePage from CP_ACP to CP_UTF8:
o since we always use UTF-16 for OS file API calls, this will only affect
     possible intermediate code page conversions inside RTL routines and hence
     prevent potential data loss. This was already the same for NativeNT and
     WinCE, which are in the same boat
   o DefaultRTLFileSystemCodePage, which specifies the code page used to return
     strings from single byte RTL routines, remains CP_ACP and hence nothing
     will change as far as programs using the RTL are concerned

git-svn-id: trunk@26377 -
2014-01-04 15:05:42 +00:00
marco
a001e12d04 * rtl-console initial version.
git-svn-id: trunk@26372 -
2014-01-03 22:19:02 +00:00
marco
ebe262762a * Clean out of $i textrec and filerec includes that are redundant now that cpstrrtl exposes
those records via system. 

git-svn-id: trunk@26356 -
2014-01-02 13:26:09 +00:00
sergei
179586f589 + SEH support for Win32. Enable by cycling with OPT=-dTEST_WIN32_SEH.
Although basic things work (no regressions in test suite, also with TEST_OPT=-O2), there are some secondary issues/TODOs:
- Exception frame around PASCALMAIN is not properly removed in DLLs
- No stack traces yet
- Stack overallocated in finalizer procedures, their entry/exit code needs cleanup
- Signals unit is probably completely broken.

git-svn-id: trunk@26225 -
2013-12-12 12:43:46 +00:00
marco
67c21b3a5e * fix for #25402 One argument of GetICMProfileW missed an indirection
git-svn-id: trunk@26202 -
2013-12-09 18:19:31 +00:00
sergei
04c0845189 * Moved more reusable exception handling code from seh64.inc to syswin.inc.
* sysutils.pp: Install ExceptObjProc and ExceptClsProc also on Win32.

git-svn-id: trunk@26181 -
2013-12-04 14:02:54 +00:00
marco
23ac05cfdd * fix for #22546
git-svn-id: trunk@26177 -
2013-12-03 23:24:48 +00:00