@@ -127,9 +127,9 @@   TNamedParamDesc = record
127127{ $IFDEF DELPHIXE2_OR_HIGHER} 
128128  { $DEFINE USESYSTEMDISPINVOKE}    // Delphi 2010 DispInvoke is buggy
129129{ $ENDIF} 
130- { $IF DEFINED(FPC_FULLVERSION) and (FPC_FULLVERSION >= 20500)} 
131-   { $DEFINE USESYSTEMDISPINVOKE} 
132- { $IFEND} 
130+ { $. IF DEFINED(FPC_FULLVERSION) and (FPC_FULLVERSION >= 20500)} 
131+   { . $DEFINE USESYSTEMDISPINVOKE} 
132+ { . $IFEND} 
133133
134134  {  Python variant type handler } 
135135  TPythonVariantType = class (TInvokeableVariantType, IVarInstanceReference)
@@ -146,7 +146,7 @@   TPythonVariantType = class(TInvokeableVariantType, IVarInstanceReference)
146146    procedure  PythonObjectToVarData ( var  Dest : TVarData; AObject : PPyObject; APythonAtomCompatible : Boolean );
147147    procedure  PyhonVarDataCreate ( var  Dest : TVarData; AObject : PPyObject );
148148    { $IFNDEF USESYSTEMDISPINVOKE} 
149-     procedure  DoDispInvoke (Dest: PVarData; const  Source: TVarData;
149+     procedure  DoDispInvoke (Dest: PVarData; var  Source: TVarData;
150150      CallDesc: PCallDesc; Params: Pointer); virtual ;
151151    function  GetPropertyWithArg (var  Dest: TVarData; const  V: TVarData;
152152      const  AName: AnsiString; AArg : TVarData): Boolean; virtual ;
@@ -180,14 +180,14 @@   TPythonVariantType = class(TInvokeableVariantType, IVarInstanceReference)
180180      const  Arguments: TVarDataArray): Boolean; override;
181181    function  GetProperty (var  Dest: TVarData; const  V: TVarData;
182182      const  AName: string): Boolean; override;
183-     function  SetProperty (const  V: TVarData; const  AName: string;
183+     function  SetProperty ({ $IFDEF FPC } var { $ELSE } const { $ENDIF }   V: TVarData; const  AName: string;
184184      const  Value : TVarData): Boolean; override;
185185    { $IFDEF DELPHIXE7_OR_HIGHER} 
186186    procedure  DispInvoke (Dest: PVarData;
187187      [Ref] const  Source: TVarData; CallDesc: PCallDesc; Params: Pointer);override;
188188    { $ELSE} 
189189    procedure  DispInvoke (Dest: PVarData;
190-        const  Source: TVarData; CallDesc: PCallDesc; Params: Pointer);override;
190+        var  Source: TVarData; CallDesc: PCallDesc; Params: Pointer);override;
191191    { $ENDIF} 
192192  end ;
193193
@@ -941,7 +941,7 @@ procedure TPythonVariantType.DispInvoke(Dest: PVarData;
941941  [Ref] const  Source: TVarData; CallDesc: PCallDesc; Params: Pointer);
942942{ $ELSE} 
943943procedure  TPythonVariantType.DispInvoke (Dest: PVarData;
944-    const  Source: TVarData; CallDesc: PCallDesc; Params: Pointer);
944+    var  Source: TVarData; CallDesc: PCallDesc; Params: Pointer);
945945{ $ENDIF} 
946946{ $IFDEF USESYSTEMDISPINVOKE} 
947947{ $IFDEF DELPHIXE2_OR_HIGHER} 
@@ -1088,7 +1088,7 @@     TStringDesc = record
10881088end ;
10891089
10901090procedure  TPythonVariantType.DoDispInvoke (Dest: PVarData;
1091-   const  Source: TVarData; CallDesc: PCallDesc; Params: Pointer);
1091+   var  Source: TVarData; CallDesc: PCallDesc; Params: Pointer);
10921092type 
10931093  PParamRec = ^TParamRec;
10941094  TParamRec = array [0 ..3 ] of  LongInt;
@@ -1863,7 +1863,7 @@ function TPythonVariantType.RightPromotion(const V: TVarData;
18631863    Result := False;
18641864end ;
18651865
1866- function  TPythonVariantType.SetProperty (const  V: TVarData;
1866+ function  TPythonVariantType.SetProperty ({ $IFDEF FPC } var { $ELSE } const { $ENDIF }   V: TVarData;
18671867  const  AName: string; const  Value : TVarData): Boolean;
18681868var 
18691869  _newValue : PPyObject;
0 commit comments