Hello,

I have a small piece of code on LCL which I have found hard to convert
to unicode:

      lpStrFilter := StrAlloc(Length(Filter)+1);
      StrPCopy(lpStrFilter, Filter);

on win32wsdialogs.pp

lpStrFilter is a member on the LPOPENFILENAME winapi structure.

Having a win9x version is trivial, but having a version where we put a
PWideChar into lpStrFilter looks hard...

      lpStrFilter := StrAlloc(Length(Filter)+1);
      StrPCopy(lpStrFilter, Utf8ToAnsi(Filter));

I tryed this as unicode version:

      lpStrFilter := PChar(PWideChar(Utf8Decode(Filter)));

But it crashes the dialog when it is closed... I don't know what
exactly is happening here, or why the original code manually alocated
memory and then copyed the string, instead of just copying, so I'm
lost about solving this.

thanks,
-- 
Felipe Monteiro de Carvalho
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to