Am 23.07.2017 12:50 schrieb "Michael Van Canneyt via Lazarus" <
[email protected]>:
>
> 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 <> '' then
>   begin
>     if
Succeeded(SHCreateItemFromParsingName(PWideChar(UTF8ToUTF16(InitialDir)),
nil, IShellItem, DefaultFolderItem)) then
>       ADialog.SetFolder(DefaultFolderItem);
>   end;
>
> Directly passing an interface where (T)REFIID is expected, will no longer
be possible.

I reverted the changes by Michael and changed the parameters of those
functions to constref instead.
However that doesn't mean that there won't be breaking changes: there are
some interfaces that take REFIID (or TGuid parameters that are generally
used with interface IIDs) and those will need to be changed as well. Most
will be interface which have implementations provided by e.g. Windows, but
in some cases those might be implemented by users and thus will lead to
compilation failures (but at least those will be easy to spot :) ).

Regards,
Sven
-- 
_______________________________________________
Lazarus mailing list
[email protected]
https://lists.lazarus-ide.org/listinfo/lazarus

Reply via email to