@@ -182,8 +182,13 @@ TPythonVariantType = class(TInvokeableVariantType, IVarInstanceReference)
182182 const AName: string): Boolean; override;
183183 function SetProperty (const V: TVarData; const AName: string;
184184 const Value : TVarData): Boolean; override;
185- procedure DispInvoke (Dest: PVarData; const Source: TVarData;
186- CallDesc: PCallDesc; Params: Pointer); override;
185+ { $IFDEF DELPHIXE7_OR_HIGHER}
186+ procedure DispInvoke (Dest: PVarData;
187+ [Ref] const Source: TVarData; CallDesc: PCallDesc; Params: Pointer);
188+ { $ELSE}
189+ procedure DispInvoke (Dest: PVarData;
190+ const Source: TVarData; CallDesc: PCallDesc; Params: Pointer);
191+ { $ENDIF}
187192 end ;
188193
189194var
@@ -931,9 +936,14 @@ procedure SetClearVarToEmptyParam(var V: TVarData);
931936 CPropertyGet = $02 ;
932937 CPropertySet = $04 ;
933938
934- { $IFDEF USESYSTEMDISPINVOKE }
939+ { $IFDEF DELPHIXE7_OR_HIGHER }
935940procedure TPythonVariantType.DispInvoke (Dest: PVarData;
936- const Source: TVarData; CallDesc: PCallDesc; Params: Pointer);
941+ [Ref] const Source: TVarData; CallDesc: PCallDesc; Params: Pointer);
942+ { $ELSE}
943+ procedure TPythonVariantType.DispInvoke (Dest: PVarData;
944+ const Source: TVarData; CallDesc: PCallDesc; Params: Pointer);
945+ { $ENDIF}
946+ { $IFDEF USESYSTEMDISPINVOKE}
937947{ $IFDEF DELPHIXE2_OR_HIGHER}
938948 // Modified to correct memory leak QC102387
939949 procedure PatchedDispInvoke (Dest: PVarData;
@@ -1073,8 +1083,6 @@ TStringDesc = record
10731083end ;
10741084
10751085{ $ELSE USESYSTEMDISPINVOKE}
1076- procedure TPythonVariantType.DispInvoke (Dest: PVarData;
1077- const Source: TVarData; CallDesc: PCallDesc; Params: Pointer);
10781086begin
10791087 DoDispInvoke(Dest, Source, CallDesc, Params);
10801088end ;
0 commit comments