Fix 64 bit return values some more, using the correct method which was already used by cdRegister.
This commit is contained in:
parent
04f5647ec7
commit
5c701ec81e
@ -662,7 +662,7 @@ begin
|
||||
{$IFNDEF PS_NOINT64}bts64:
|
||||
begin
|
||||
EAX := RealCall_Other(Address, @Stack[Length(Stack)-3], Length(Stack) div 4, 4, @EDX);
|
||||
tbts64(res^.dta^) := Int64(EDX) shl 32 or EAX;
|
||||
tbts64(res^.dta^) := Int64(Cardinal(EDX)) shl 32 or Cardinal(EAX);
|
||||
end;
|
||||
{$ENDIF}
|
||||
btVariant,
|
||||
@ -721,7 +721,7 @@ begin
|
||||
{$IFNDEF PS_NOINT64}bts64:
|
||||
begin
|
||||
EAX := RealCall_CDecl(Address, @Stack[Length(Stack)-3], Length(Stack) div 4, 4, @EDX);
|
||||
tbts64(res^.Dta^) := Int64(EDX) shl 32 or EAX;
|
||||
tbts64(res^.Dta^) := Int64(Cardinal(EDX)) shl 32 or Cardinal(EAX);
|
||||
end;
|
||||
{$ENDIF}
|
||||
btVariant, {$IFNDEF PS_NOWIDESTRING}btUnicodeString, btWideString, {$ENDIF}
|
||||
@ -756,7 +756,7 @@ begin
|
||||
{$IFNDEF PS_NOINT64}bts64:
|
||||
begin
|
||||
EAX := RealCall_Other(Address, @Stack[Length(Stack)-3], Length(Stack) div 4, 4, @EDX);
|
||||
tbts64(res^.dta^) := Int64(EDX) shl 32 or EAX;
|
||||
tbts64(res^.dta^) := Int64(Cardinal(EDX)) shl 32 or Cardinal(EAX);
|
||||
end;
|
||||
{$ENDIF}
|
||||
btVariant, {$IFNDEF PS_NOWIDESTRING}btUnicodeString, btWideString, {$ENDIF}
|
||||
|
Loading…
Reference in New Issue
Block a user