svenbarth
9a9c6a3ff4
* fix for Mantis #35150 : correctly convert Int64/QWord values to OleVariant (Delphi compatible)
...
+ added test
git-svn-id: trunk@41571 -
2019-03-03 14:50:09 +00:00
svenbarth
07b1a3d211
* adjust signature of variant managers olevarfromint so that 64-bit values can be passed as well (as was probably intended originally)
...
git-svn-id: trunk@41570 -
2019-03-03 14:50:05 +00:00
svenbarth
158224a808
* reorder methods to get rid of some inlining notes (no functional changes)
...
git-svn-id: trunk@41549 -
2019-03-02 12:08:45 +00:00
svenbarth
033561d039
* fix passing structured result values on non-Win32
...
git-svn-id: trunk@41548 -
2019-03-02 11:19:23 +00:00
svenbarth
42d126e713
* enable Invoke() tests for i386
...
git-svn-id: trunk@41537 -
2019-03-01 15:21:01 +00:00
svenbarth
d7bb4bd411
+ add function call manager which implements Invoke() for the i386 register calling convention
...
git-svn-id: trunk@41536 -
2019-03-01 15:20:59 +00:00
svenbarth
c2da9abd17
* correctly compare floating point values in TValue
...
git-svn-id: trunk@41535 -
2019-03-01 15:20:56 +00:00
michael
fbba24d636
* Fix bug ID #35098 (count param)
...
git-svn-id: trunk@41343 -
2019-02-16 14:52:17 +00:00
marco
86168dfdd1
* Patch from Serge Anvarov with missing strutils aliases. Mantis #35047
...
git-svn-id: trunk@41263 -
2019-02-09 12:31:15 +00:00
svenbarth
56eaa913b5
* correctly check for the Extended value of a Currency and Comp value
...
git-svn-id: trunk@40765 -
2019-01-04 15:03:27 +00:00
Károly Balogh
5182dc37af
haiku-x86_64: regenerated all Makefiles, take 2
...
git-svn-id: trunk@40758 -
2019-01-04 03:18:42 +00:00
svenbarth
5d1edc8ca2
* move CallHandler() abstract method out of Windows ifdef so that the include works for non-Windows as well
...
git-svn-id: trunk@40747 -
2019-01-02 21:58:50 +00:00
svenbarth
f31aa97261
+ add a callback implementation for the Win64 calling convention
...
git-svn-id: trunk@40703 -
2018-12-29 19:21:30 +00:00
svenbarth
9642d210c0
* method pointers are also returned by parameter
...
git-svn-id: trunk@40702 -
2018-12-29 19:21:27 +00:00
svenbarth
147dd4021d
+ add functions that abstract working with virtual memory across targets for use with callbacks (for now only Windows is implemented; *nix targets should come next)
...
git-svn-id: trunk@40701 -
2018-12-29 19:21:23 +00:00
svenbarth
30b1a45704
+ add tests for TMethodImplementation for method and procedure variables
...
git-svn-id: trunk@40700 -
2018-12-29 19:21:20 +00:00
svenbarth
d3acbc1784
+ add ability to create method implementations for method and procedure variables (Delphi does not support this, but I see no reason to prohibit this...)
...
git-svn-id: trunk@40699 -
2018-12-29 19:21:16 +00:00
svenbarth
f97688a07b
+ add TMethodImplementation class
...
git-svn-id: trunk@40698 -
2018-12-29 19:21:12 +00:00
svenbarth
9a23613b9d
* rework low level callback API
...
git-svn-id: trunk@40697 -
2018-12-29 19:21:09 +00:00
svenbarth
feff0c673f
* move some types to the top of the unit
...
git-svn-id: trunk@40696 -
2018-12-29 19:21:05 +00:00
svenbarth
c3081f7cf3
* fix Comp type casts to QWord and Int64
...
git-svn-id: trunk@40695 -
2018-12-29 19:21:02 +00:00
svenbarth
2c20643ba6
* fix ShortString handling in TValue (always the maximum length of the corresponding ShortString type is allocated)
...
git-svn-id: trunk@40694 -
2018-12-29 19:20:58 +00:00
svenbarth
17c3354f9c
+ provide IValueData's ExtractRawData(NoCopy)() in TValue (and also implement it for non-heap types)
...
git-svn-id: trunk@40693 -
2018-12-29 19:20:54 +00:00
svenbarth
bef1b84d63
* move utility code to a separate unit
...
git-svn-id: trunk@40692 -
2018-12-29 19:20:51 +00:00
svenbarth
f0753517b4
* fix compilation on platforms that *do* have a Comp type
...
git-svn-id: trunk@40673 -
2018-12-27 09:21:45 +00:00
svenbarth
9eac2ea852
* correctly handle record, set and array results if no extended parameter information is available
...
git-svn-id: trunk@40669 -
2018-12-26 22:59:45 +00:00
svenbarth
8c52dc30ce
* move check for result location to separate function
...
git-svn-id: trunk@40668 -
2018-12-26 22:59:42 +00:00
svenbarth
cfd8df4894
+ add tests for raw Invoke() which needs to determine the result location by itself
...
git-svn-id: trunk@40667 -
2018-12-26 22:59:39 +00:00
svenbarth
93e0cd9e1a
* fix for Mantis #34496 : correctly align stack so that SSE operations work correctly
...
git-svn-id: trunk@40666 -
2018-12-26 22:59:36 +00:00
svenbarth
30f14cfcc0
+ add some more tests for floating point values
...
git-svn-id: trunk@40665 -
2018-12-26 22:59:33 +00:00
svenbarth
dbaf7a69bd
* correctly handle a floating point result
...
git-svn-id: trunk@40664 -
2018-12-26 22:59:30 +00:00
svenbarth
551e36cd19
+ add tests for floating point arguments and results
...
git-svn-id: trunk@40663 -
2018-12-26 22:59:27 +00:00
svenbarth
0d09c3c124
+ add utility functions to get TValue values for Single, Double, Extended, Comp and Currency
...
git-svn-id: trunk@40662 -
2018-12-26 22:59:24 +00:00
svenbarth
bd328025fd
* correctly compare tkFloat values
...
git-svn-id: trunk@40661 -
2018-12-26 22:59:21 +00:00
svenbarth
8d235b5f26
* more correct handling of floating point values (especially Comp and Currency) inside TValue
...
git-svn-id: trunk@40660 -
2018-12-26 22:59:18 +00:00
pierre
f8563772c5
Always accept empty string as meaning zero is TryRomanToInt, fixes intermittent errors in tromantoint test
...
git-svn-id: trunk@40537 -
2018-12-13 10:21:58 +00:00
michael
090141a69c
* Allow to retrieve argument size, patch by Silvio Clecio (bug ID 34611)
...
git-svn-id: trunk@40394 -
2018-11-29 15:34:00 +00:00
pierre
deb3d5a0a9
+ Add Debug message when resource file is found, but not registered.
...
+ Add missing "T.ResourceStrings:=True;" for all source units
that generate the new debug message above.
git-svn-id: trunk@40365 -
2018-11-24 15:14:57 +00:00
michael
ab159c638c
* Move consts to stdconv
...
git-svn-id: trunk@39994 -
2018-10-20 12:18:16 +00:00
yury
a29290202f
* Regenerated makefiles to support x86_64-android.
...
git-svn-id: trunk@39958 -
2018-10-17 17:12:20 +00:00
marco
b3feccb397
* fix trailing quote char. Patch by wp mantis 34405
...
git-svn-id: trunk@39910 -
2018-10-10 08:23:50 +00:00
svenbarth
e644e6332b
- remove forgotten debug code
...
git-svn-id: trunk@39897 -
2018-10-07 12:51:09 +00:00
svenbarth
c97b607e60
* also run invoke tests if internal function call manager is available (which we prefer to the ffi one)
...
git-svn-id: trunk@39896 -
2018-10-07 12:26:09 +00:00
svenbarth
509383aeb3
+ add define to use ffi function call manager for tests
...
git-svn-id: trunk@39895 -
2018-10-07 12:26:06 +00:00
svenbarth
ea5f407c49
+ add a TFunctionCallManager that provides built in Invoke() support for x86_64-win64
...
git-svn-id: trunk@39894 -
2018-10-07 12:26:03 +00:00
svenbarth
afc83b9f70
+ implement the high level Invoke() for TRttiMethod (currently only for interface methods), TRttiMethodType and TRttiProcedureType
...
git-svn-id: trunk@39893 -
2018-10-07 12:25:59 +00:00
svenbarth
3ca2529b58
* extend TValue.ToString for a few more types
...
git-svn-id: trunk@39889 -
2018-10-07 12:25:45 +00:00
svenbarth
7bb147dce0
+ add TRttiMethodType for method variables and TRttiProcedureType for procedure variables
...
git-svn-id: trunk@39888 -
2018-10-07 12:25:42 +00:00
svenbarth
b8ae04140c
* differentiate between a list of all parameters and one of only visible ones; the former is going to be used for Invoke while the latter is returned by GetParameters
...
git-svn-id: trunk@39887 -
2018-10-07 12:25:39 +00:00
svenbarth
0f7f9c2bb8
+ add support for open arrays in TValue; this is *not* supported by Delphi
...
Note: open array TValue "instances" are only valid till the routine with the open array parameter has returned, but they can be converted to a dynamic array value with the help of the OpenArrayToDynArrayValue<> function
git-svn-id: trunk@39886 -
2018-10-07 12:25:36 +00:00