Commit Graph

720 Commits

Author SHA1 Message Date
florian
7d5b0d2382 * handle rawbytestrings in Win32Ansi2UnicodeMove properly, resolves #38299
git-svn-id: trunk@48021 -
2021-01-03 22:55:37 +00:00
ondrej
3f605a5b50 win rtl: load GetTimeZoneInformationForYear dynamically. Issue #38192
git-svn-id: trunk@47817 -
2020-12-19 11:57:58 +00:00
ondrej
6eb37beb24 win32: SysErrorMessage: ignore inserts (when not used the messages with inserts are empty) and allocate message buffer
git-svn-id: trunk@47748 -
2020-12-10 17:04:12 +00:00
ondrej
1a0ba60de6 * revert r47598: implement TRandomGenerator
git-svn-id: trunk@47605 -
2020-11-27 04:53:06 +00:00
ondrej
c4dd3b661a * rtl: implement TRandomGenerator for thread-safe random
git-svn-id: trunk@47598 -
2020-11-26 05:59:00 +00:00
ondrej
8ce015535a * FileSetDate with TDateTime and UTC for file names
git-svn-id: trunk@47398 -
2020-11-12 14:36:12 +00:00
ondrej
3ea339400e * FileGetDate, FileSetDate linux compilation
git-svn-id: trunk@47397 -
2020-11-12 13:55:01 +00:00
ondrej
d899c9fca4 * FileGetDate, FileSetDate with TDateTime and UTC
git-svn-id: trunk@47396 -
2020-11-12 13:36:39 +00:00
ondrej
39674e2852 * win: fix GetLocalTimeOffset lower boundary
git-svn-id: trunk@47323 -
2020-11-05 12:54:35 +00:00
ondrej
c64429cdd0 * lazy thread initialization support
git-svn-id: trunk@47308 -
2020-11-04 14:55:40 +00:00
ondrej
934f2dc55d * introduce NowUTC() and GetUniversalTime()
git-svn-id: trunk@47306 -
2020-11-04 09:34:08 +00:00
ondrej
a02d676b06 GetLocalTimeOffset: add InputIsUTC parameter to DateTime-aware overloads
git-svn-id: trunk@47293 -
2020-11-03 18:15:16 +00:00
marco
b06727d8af * remove windows.pboolean, mantis #38019
git-svn-id: trunk@47275 -
2020-11-01 19:59:58 +00:00
svenbarth
71c30761dd * fix for Mantis #38020: apply patch by Sergey Larin to use GetModuleHandle instead of LoadLibrary to retrieve GetTickCount64
git-svn-id: trunk@47274 -
2020-11-01 19:40:39 +00:00
Tomas Hajny
5c119d5f67 * fix for bug #38021 based on patch by Sergey Larin
git-svn-id: trunk@47269 -
2020-11-01 16:46:52 +00:00
ondrej
0d08b98d47 GetLocalTimeOffset: DateTime-aware overloads (Windows supported, Unix is a ToDo). Issue #35710
git-svn-id: trunk@47206 -
2020-10-26 12:29:18 +00:00
Tomas Hajny
1a4fdc7313 * fix for broken wince compilation after r46863
git-svn-id: trunk@46874 -
2020-09-15 21:36:01 +00:00
Tomas Hajny
288c7e3c9e * Do_IsDevice treats pipes and sockets the same way as character devices
git-svn-id: trunk@46863 -
2020-09-13 22:08:18 +00:00
svenbarth
c53422e4ef * handle reparse points that are neither symlinks nor mount points as normal files
git-svn-id: trunk@46855 -
2020-09-12 08:03:10 +00:00
svenbarth
200e20fd71 * handle unknown reparse tags as non-symlinks
git-svn-id: trunk@46761 -
2020-09-04 14:41:40 +00:00
svenbarth
11b601d44c * TThread.Terminate does not have any platform specific behavior (it should only set FTerminated to true and call TerminatedSet), thus move it to the platform independant part
Notes:
- Netware had a ThreadSwitch in there, but that is not really required
- some platform were missing the setting of FTerminated to True, thus they'll now do that as well

git-svn-id: trunk@46543 -
2020-08-22 15:56:13 +00:00
michael
b7bd9f3325 * Add TerminatedSet (delphi compatibility, bug ID #37388)
git-svn-id: trunk@45805 -
2020-07-18 22:35:36 +00:00
svenbarth
3c79a8dd81 * GetLoadErrorStr (currently) returns a ShortString, so avoid a useless conversion to AnsiString
git-svn-id: trunk@45329 -
2020-05-10 20:46:04 +00:00
svenbarth
73026618c8 * protect against empty strings inside the SetThreadDebugNameA and -U functions
git-svn-id: trunk@45237 -
2020-05-03 21:11:36 +00:00
yury
187cc46b32 * Windows: Do not use CommandLineToArgvW for parsing command line parameters, because it treats \" as an escape sequence for the double quote.
- Implemented parsing of the command line which is backward compatible.
  - Do not use GetCommandLineA.

git-svn-id: trunk@45227 -
2020-05-02 18:19:26 +00:00
svenbarth
68d743a83e * fix for Mantis #36941: apply (adjusted) patch by Bi0T1N to implement SetThreadDebugNameA and -U for Windows, with the exception of Windows CE
git-svn-id: trunk@45206 -
2020-05-01 13:10:54 +00:00
svenbarth
c8b7094378 * fix for Mantis #36940: apply (adjusted) patch by Bi0T1N to add functionality to the thread manager to set a thread's debug name (if supported by the platform)
git-svn-id: trunk@45160 -
2020-04-28 19:58:20 +00:00
svenbarth
e131a4e014 * nicely align assignment of TThreadManager.CloseThread
git-svn-id: trunk@45159 -
2020-04-28 19:57:55 +00:00
yury
8d95da3fea * Windows: Reworked handling of command line arguments to properly support Unicode:
- Use the CommandLineToArgvW API function to parse the Unicode command line (we can use it since Win9x is not supported anymore).
  - Implemented non-public functions ParamStrA and ParamStrU which are exposed in the objpas and uuchar units to provide correct AnsiString and UnicodeString versions of ParamStr(). 
  - The cleanup code is moved from InternalExit to the finalization section of the System unit.

git-svn-id: trunk@45037 -
2020-04-23 12:38:42 +00:00
yury
7b425ed4a6 * Moved the common interface part of the win32 and win64 System units to the syswinh.inc include file.
git-svn-id: trunk@44996 -
2020-04-22 12:04:05 +00:00
svenbarth
1972b05cc8 * store and restore the 8087 control world only on x86 systems
git-svn-id: trunk@44922 -
2020-04-21 06:04:52 +00:00
marco
98b1d2b975 * use wingetprocaddress instead of getprocaddress in code under SUPPORT_WIN95.
getprocaddress is meanwhile a "manager", and is not yet initialized here.

git-svn-id: trunk@44777 -
2020-04-18 13:42:08 +00:00
marco
3c467f7cc5 * added some image_dllcharacteristics flags + removed some hard tabs.
git-svn-id: trunk@44724 -
2020-04-15 10:09:55 +00:00
marco
cf0bf230c5 * ifdef _win64 -> win64. Patch by Marcin. Possibly headers converted
when windows 64-bit existed, but without direct usage knowledge.
   Should be in final 3.2.0

git-svn-id: trunk@44258 -
2020-03-03 11:04:54 +00:00
florian
3cd4168ab3 + introduce TOSTimestamp
git-svn-id: trunk@44033 -
2020-01-25 14:14:41 +00:00
marco
a16f332fbb * some quick fixes for Win32 with temp variables for some places where the int64 changes breaks.
git-svn-id: trunk@44017 -
2020-01-22 12:07:49 +00:00
florian
69956cd97a * fix compilation on several OSes after r44010
git-svn-id: trunk@44013 -
2020-01-21 21:50:37 +00:00
florian
01302bc47d * subroutines working with an OS dependend time stamp use an int64 now, so the 2038 problem
on unixes can be tackled

git-svn-id: trunk@44010 -
2020-01-21 20:59:20 +00:00
svenbarth
7a0a1d9f36 * fix for Mantis #36544: provide an overall exception handler for the library startup code in case of unhandled exceptions (the loading of the library is considered failed in that case) when SEH is active
+ added test

git-svn-id: trunk@43901 -
2020-01-10 15:39:20 +00:00
svenbarth
2e259ee3cc * the VMT of the exception class needs to be referenced indirectly
git-svn-id: trunk@43543 -
2019-11-21 21:44:48 +00:00
svenbarth
3dbbb18649 * Delphi raises a EDirectoryNotFoundException if the link's target does not exist, so do the same
git-svn-id: trunk@43110 -
2019-10-03 12:07:20 +00:00
svenbarth
35452fc670 * use the name of the target so that the correct attributes are retrieved (namely those of the target)
git-svn-id: trunk@43109 -
2019-10-03 12:07:16 +00:00
marco
bcabeb36a1 * another input fix.
git-svn-id: trunk@42996 -
2019-09-14 15:28:55 +00:00
marco
14d92d9ece * declaring an identifier "INPUT" is never wise. Thanks Marcus.
git-svn-id: trunk@42995 -
2019-09-14 15:27:46 +00:00
marco
3bae3a4aa4 * input related functions and structs, based on Mantis #35064
git-svn-id: trunk@42994 -
2019-09-14 13:11:55 +00:00
marco
01bc1ed80e * fix for mantis #36064, pack printdlg only ifndef win64
git-svn-id: trunk@42976 -
2019-09-12 07:50:34 +00:00
svenbarth
c26348a3dd * follow up to r42457: FreeTerminateProcs needs to be called before DoneExceptions just in case an exception is triggered due to a corrupted list
git-svn-id: trunk@42461 -
2019-07-20 08:41:59 +00:00
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