Re: [Lazarus] Breaking change

2017-07-29 Thread Sven Barth via Lazarus
Am 23.07.2017 12:50 schrieb "Michael Van Canneyt via Lazarus" < lazarus@lists.lazarus-ide.org>: > > Hello, > > I have fixed bug 28760: > > https://bugs.freepascal.org/view.php?id=28760 > > This will cause compilation of win32wsdialogs.pp to fail, in particular in > > class procedure TWin32WSOpenDia

Re: [Lazarus] Breaking change

2017-07-24 Thread Martok via Lazarus
Am 23.07.2017 um 22:01 schrieb Sven Barth via Lazarus: > - aggregates (which is what a TGUID is) are always passed as pointers > for stdcall functions (basically all functions that are related to COM > and thus to REFIID) and also the Win64 ABI anyway, so a mere "TIID" > already behaved correctly f

Re: [Lazarus] Breaking change

2017-07-23 Thread Michael Van Canneyt via Lazarus
On Sun, 23 Jul 2017, Sven Barth via Lazarus wrote: On 23.07.2017 12:50, Michael Van Canneyt via Lazarus wrote: Hello, I have fixed bug 28760: https://bugs.freepascal.org/view.php?id=28760 This will cause compilation of win32wsdialogs.pp to fail, in particular in class procedure TWin32WSOp

Re: [Lazarus] Breaking change

2017-07-23 Thread Sven Barth via Lazarus
On 23.07.2017 12:50, Michael Van Canneyt via Lazarus wrote: > Hello, > > I have fixed bug 28760: > > https://bugs.freepascal.org/view.php?id=28760 > > This will cause compilation of win32wsdialogs.pp to fail, in particular in > > class procedure TWin32WSOpenDialog.SetupVistaFileDialog(ADialog:

Re: [Lazarus] Breaking change

2017-07-23 Thread Ondrej Pokorny via Lazarus
On 23.07.2017 18:11, Michael Van Canneyt via Lazarus wrote: That is one possible fix, yes. Maybe we can add a leightweight function for this to the typinfo unit. Actually it works well with a local variable. I fixed it in r55562. I hope it's fine so. Ondrej -- __

Re: [Lazarus] Breaking change

2017-07-23 Thread Michael Van Canneyt via Lazarus
On Sun, 23 Jul 2017, Ondrej Pokorny via Lazarus wrote: On 23.07.2017 12:50, Michael Van Canneyt via Lazarus wrote: Directly passing an interface where (T)REFIID is expected, will no longer be possible. What is the fix? "@GetTypeData(TypeInfo(IShellItem))^.Guid" ? That is one possible fix

Re: [Lazarus] Breaking change

2017-07-23 Thread Ondrej Pokorny via Lazarus
On 23.07.2017 12:50, Michael Van Canneyt via Lazarus wrote: Directly passing an interface where (T)REFIID is expected, will no longer be possible. What is the fix? "@GetTypeData(TypeInfo(IShellItem))^.Guid" ? Ondrej -- ___ Lazarus mailing list Lazar

Re: [Lazarus] Breaking change

2017-07-23 Thread Michael Van Canneyt via Lazarus
On Sun, 23 Jul 2017, Martok via Lazarus wrote: { IUnknown } function QueryInterface({$IFDEF FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): Hresult; virtual; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; That is a historical monstrosity :) I a gree we can do away

Re: [Lazarus] Breaking change

2017-07-23 Thread Martok via Lazarus
>>{ IUnknown } >>function QueryInterface({$IFDEF >> FPC_HAS_CONSTREF}constref{$ELSE}const{$ENDIF} IID: TGUID; out Obj): Hresult; >> virtual; {$IFNDEF WINDOWS}cdecl{$ELSE}stdcall{$ENDIF}; > > That is a historical monstrosity :) I a gree we can do away with the IFDEFS and just use constref.

Re: [Lazarus] Breaking change

2017-07-23 Thread Michael Van Canneyt via Lazarus
On Sun, 23 Jul 2017, Martok via Lazarus wrote: Am 23.07.2017 um 14:24 schrieb Michael Van Canneyt via Lazarus: The pointer-ness of REFIID is an artefact of the C-ABI. It is not meant to mean 'pass a pointer to a GUID-struct', but 'pass a GUID using byref'. We have constref for that. See the

Re: [Lazarus] Breaking change

2017-07-23 Thread Martok via Lazarus
Am 23.07.2017 um 14:24 schrieb Michael Van Canneyt via Lazarus: >> The pointer-ness of REFIID is an artefact of the C-ABI. It is not meant to >> mean >> 'pass a pointer to a GUID-struct', but 'pass a GUID using byref'. We have >> constref for that. > > See the link to the Windows MSDN. Yes, so?

Re: [Lazarus] Breaking change

2017-07-23 Thread Michael Van Canneyt via Lazarus
On Sun, 23 Jul 2017, Martok via Lazarus wrote: Hello, I have fixed bug 28760: https://bugs.freepascal.org/view.php?id=28760 as the reporter: not really. The pointer-ness of REFIID is an artefact of the C-ABI. It is not meant to mean 'pass a pointer to a GUID-struct', but 'pass a GUID usin

Re: [Lazarus] Breaking change

2017-07-23 Thread Martok via Lazarus
Hello, > I have fixed bug 28760: > > https://bugs.freepascal.org/view.php?id=28760 as the reporter: not really. The pointer-ness of REFIID is an artefact of the C-ABI. It is not meant to mean 'pass a pointer to a GUID-struct', but 'pass a GUID using byref'. We have constref for that. > Directly

[Lazarus] Breaking change

2017-07-23 Thread Michael Van Canneyt via Lazarus
Hello, I have fixed bug 28760: https://bugs.freepascal.org/view.php?id=28760 This will cause compilation of win32wsdialogs.pp to fail, in particular in class procedure TWin32WSOpenDialog.SetupVistaFileDialog(ADialog: IFileDialog; const AOpenDialog: TOpenDialog); search for: if InitialDir

[Lazarus] Breaking change in fcl-pdf

2016-09-26 Thread Michael Van Canneyt via Lazarus
Hi, A small warning: There is a small breaking change in the fcl-pdf package: the color parameter in the AddFont() call has been removed. It was ignored anyway and didn't play any useful role. If your code no longer compiles, just remove the color parameter. An option not to embed fonts was al