mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-11-07 22:34:41 +01:00
PascalScript: update to origin git 466ab97b370687e7053a945d0a55aef7f260e7f3
git-svn-id: trunk@47387 -
This commit is contained in:
parent
c276a8b998
commit
d2c5176f59
@ -4,15 +4,14 @@
|
|||||||
{$ifndef mswindows}
|
{$ifndef mswindows}
|
||||||
{$DEFINE PS_NOIDISPATCH}
|
{$DEFINE PS_NOIDISPATCH}
|
||||||
{$endif}
|
{$endif}
|
||||||
{.$if (fpc_version=2) and (fpc_release>=3) and (fpc_patch>=1)}
|
{$if (fpc_version>2) or ((fpc_version=2) and ((fpc_release=2) and (fpc_patch>=4)) or (fpc_release>2))}
|
||||||
{$if (fpc_version=2) and ((fpc_release=2) and (fpc_patch>=4)) or (fpc_release>2)}
|
|
||||||
{$UNDEF FPC_OLD_FIX}
|
{$UNDEF FPC_OLD_FIX}
|
||||||
{$DEFINE PS_STACKALIGN}
|
{$DEFINE PS_STACKALIGN}
|
||||||
{$UNDEF PS_FPCSTRINGWORKAROUND}
|
{$UNDEF PS_FPCSTRINGWORKAROUND}
|
||||||
{$DEFINE PS_RESBEFOREPARAMETERS}
|
{$DEFINE PS_RESBEFOREPARAMETERS}
|
||||||
{$DEFINE x64_string_result_as_varparameter}
|
{$DEFINE x64_string_result_as_varparameter}
|
||||||
{$ifdef mswindows}
|
{$ifdef mswindows}
|
||||||
{$if (fpc_version=2) and (fpc_release>5)}
|
{$if (fpc_version>2) or ((fpc_version=2) and (fpc_release>5))}
|
||||||
{$DEFINE PS_FPC_HAS_COM}
|
{$DEFINE PS_FPC_HAS_COM}
|
||||||
{$endif}
|
{$endif}
|
||||||
{$endif}
|
{$endif}
|
||||||
|
|||||||
@ -13143,6 +13143,9 @@ begin
|
|||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
AddDelphiFunction('function Unassigned: Variant;');
|
AddDelphiFunction('function Unassigned: Variant;');
|
||||||
AddDelphiFunction('function VarIsEmpty(const V: Variant): Boolean;');
|
AddDelphiFunction('function VarIsEmpty(const V: Variant): Boolean;');
|
||||||
|
{$IFDEF DELPHI7UP}
|
||||||
|
AddDelphiFunction('function VarIsClear(const V: Variant): Boolean;');
|
||||||
|
{$ENDIF}
|
||||||
AddDelphiFunction('function Null: Variant;');
|
AddDelphiFunction('function Null: Variant;');
|
||||||
AddDelphiFunction('function VarIsNull(const V: Variant): Boolean;');
|
AddDelphiFunction('function VarIsNull(const V: Variant): Boolean;');
|
||||||
AddDelphiFunction('function VarType(const V: Variant): TVarType;');
|
AddDelphiFunction('function VarType(const V: Variant): TVarType;');
|
||||||
|
|||||||
@ -9374,6 +9374,9 @@ begin
|
|||||||
|
|
||||||
RegisterDelphiFunction(@Unassigned, 'UNASSIGNED', cdRegister);
|
RegisterDelphiFunction(@Unassigned, 'UNASSIGNED', cdRegister);
|
||||||
RegisterDelphiFunction(@VarIsEmpty, 'VARISEMPTY', cdRegister);
|
RegisterDelphiFunction(@VarIsEmpty, 'VARISEMPTY', cdRegister);
|
||||||
|
{$IFDEF DELPHI7UP}
|
||||||
|
RegisterDelphiFunction(@VarIsClear, 'VARISCLEAR', cdRegister);
|
||||||
|
{$ENDIF}
|
||||||
RegisterDelphiFunction(@Null, 'NULL', cdRegister);
|
RegisterDelphiFunction(@Null, 'NULL', cdRegister);
|
||||||
RegisterDelphiFunction(@VarIsNull, 'VARISNULL', cdRegister);
|
RegisterDelphiFunction(@VarIsNull, 'VARISNULL', cdRegister);
|
||||||
{$IFNDEF FPC}
|
{$IFNDEF FPC}
|
||||||
@ -9930,10 +9933,18 @@ end;
|
|||||||
|
|
||||||
procedure CheckPackagePtr(var P: PByteArr);
|
procedure CheckPackagePtr(var P: PByteArr);
|
||||||
begin
|
begin
|
||||||
|
{$ifdef Win32}
|
||||||
if (word((@p[0])^) = $25FF) and (word((@p[6])^)=$C08B)then
|
if (word((@p[0])^) = $25FF) and (word((@p[6])^)=$C08B)then
|
||||||
begin
|
begin
|
||||||
p := PPointer((@p[2])^)^;
|
p := PPointer((@p[2])^)^;
|
||||||
end;
|
end;
|
||||||
|
{$endif}
|
||||||
|
{$ifdef Win64}
|
||||||
|
if (word((@p[0])^) = $25FF) {and (word((@p[6])^)=$C08B)}then
|
||||||
|
begin
|
||||||
|
p := PPointer(NativeUInt(@P[0]) + Cardinal((@p[2])^) + 6{Instruction Size})^
|
||||||
|
end;
|
||||||
|
{$endif}
|
||||||
end;
|
end;
|
||||||
|
|
||||||
{$IFDEF VER90}{$DEFINE NO_vmtSelfPtr}{$ENDIF}
|
{$IFDEF VER90}{$DEFINE NO_vmtSelfPtr}{$ENDIF}
|
||||||
|
|||||||
@ -543,6 +543,7 @@ begin
|
|||||||
if not GetPtr(rp(Params[0])) then exit; // this goes first
|
if not GetPtr(rp(Params[0])) then exit; // this goes first
|
||||||
RegUsage := 2;
|
RegUsage := 2;
|
||||||
EDX := Longint(_Self);
|
EDX := Longint(_Self);
|
||||||
|
DisposePPSVariantIFC(Params[0]);
|
||||||
Params.Delete(0);
|
Params.Delete(0);
|
||||||
end else
|
end else
|
||||||
{$ENDIF}
|
{$ENDIF}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user