From 3304eda09220c6ab52d5d9b750faf85311060054 Mon Sep 17 00:00:00 2001 From: James Richters Date: Sat, 30 Nov 2024 14:17:17 -0500 Subject: [PATCH] Fix SetData so this will work on versions of Freepascal >= 3.0.2 Please release a new version on Source Forge including this change so that it can be compiled with the latest stable version of FreePascal --- src/corelib/gdi/fpg_oledragdrop.pas | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/corelib/gdi/fpg_oledragdrop.pas b/src/corelib/gdi/fpg_oledragdrop.pas index 11798bb68..f406dcdd9 100644 --- a/src/corelib/gdi/fpg_oledragdrop.pas +++ b/src/corelib/gdi/fpg_oledragdrop.pas @@ -121,7 +121,11 @@ TfpgOLEDataObject = class(TInterfacedObject, IDataObject) function GetDataHere(const formatetc: TFormatEtc; out medium: TStgMedium): HResult; stdcall; function QueryGetData(const formatetc: TFormatEtc): HResult; stdcall; function GetCanonicalFormatEtc(const formatetc: TFormatEtc; out formatetcOut: TFormatEtc): HResult; stdcall; - function SetData(const formatetc: TFormatEtc; const medium: TStgMedium; fRelease: BOOL): HResult; stdcall; + {$IF FPC_FULLVERSION >= 30200} + function SetData(const formatetc: TFormatEtc; var medium: TStgMedium; fRelease: bool): HResult; stdcall; + {$ELSE} + function SetData(const formatetc: TFormatEtc; const medium: TStgMedium; fRelease: bool): HResult; stdcall; + {$ENDIF} function EnumFormatEtc(dwDirection: DWORD; out enumFormatEtc: IEnumFormatEtc): HResult; stdcall; function DAdvise(const formatetc: TFormatEtc; advf: DWORD; const advSink: IAdviseSink; out dwConnection: DWORD): HResult; stdcall; function DUnadvise(dwConnection: DWORD): HResult; stdcall; @@ -601,8 +605,13 @@ function TfpgOLEDataObject.QueryGetData(const formatetc: TFormatEtc): HResult; end; end; +{$IF FPC_FULLVERSION >= 30200} function TfpgOLEDataObject.SetData(const formatetc: TFormatEtc; - const medium: TStgMedium; fRelease: BOOL): HResult; + var medium: TStgMedium; fRelease: bool): HResult; +{$ELSE} +function TfpgOLEDataObject.SetData(const formatetc: TFormatEtc; + const medium: TStgMedium; fRelease: bool): HResult; +{$ENDIF} begin Result := E_NOTIMPL; end;