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
svenbarth
bb11ec6375
+ add TRttiType.GetMethod to find a method by name
...
git-svn-id: trunk@39884 -
2018-10-07 12:25:30 +00:00
svenbarth
be698b970b
* ensure the correct values for TValue.GetReferenceToRawData for TObject and dynamic array types
...
git-svn-id: trunk@39883 -
2018-10-07 12:25:27 +00:00
svenbarth
00e700d598
* adjust Invoke API of FunctionCallManager to not rely on TValue
...
git-svn-id: trunk@39881 -
2018-10-07 12:25:21 +00:00
svenbarth
608da3d255
* ensure that a valid reference to the raw data is provided as long as the typeinfo is set
...
git-svn-id: trunk@39879 -
2018-10-07 12:25:15 +00:00
svenbarth
daa91bc462
* fix casing of constructors so that Lazarus doesn't complete them in lowercase
...
git-svn-id: trunk@39878 -
2018-10-07 12:25:12 +00:00
yury
8c59eb1ce5
* Regenerated makefiles to support aarch64-android.
...
git-svn-id: trunk@39863 -
2018-10-06 09:36:03 +00:00
pierre
4e7003fb94
Update all packages Makefile's
...
git-svn-id: trunk@39828 -
2018-09-27 07:05:49 +00:00
pierre
41d2a0a496
Disable libraries not compiling for jvm-java or jvm-android targets
...
git-svn-id: trunk@39808 -
2018-09-26 09:29:33 +00:00
marco
98f00acb06
* trunk to 3.3.1
...
git-svn-id: trunk@39635 -
2018-08-18 15:47:44 +00:00