Hi Ara,
Try this:uses lazutf8;var  us: unicodestring;//alternatively you can use 
widestring
begin   //...   us := MediaInfo_Get(HND, Stream_General, 0, 'Title', Info_Text, 
Info_Name);   ListBox.Items.Add(UTF16ToUTF8(us);
end;
      From: aradeonas <[email protected]>
 To: [email protected] 
 Sent: Friday, May 22, 2015 6:34 PM
 Subject: [Lazarus] DLL unicode value
   
Hi,
 I want to get unicode value from an mp3 file and I used MediaInfo library for 
this and its unicode support and I used unicode methods.
Code is simple :
 
MediaInfoDLL_Load('MediaInfo.dll');
HND := MediaInfo_New(); 
MediaInfo_Open(HND, 'test.mp3');  
ListBox.Items.Add(MediaInfo_Get(HND, Stream_General, 0, 'Title', Info_Text, 
Info_Name));
//MediaInfo_Get:        function  (Handle: Cardinal; StreamKind: TMIStreamKind; 
StreamNumber: Integer; Parameter: PWideChar; KindOfInfo: TMIInfo; KindOfSearch: 
TMIInfo): PWideChar cdecl stdcall;

 It work if Title value is ansi but if it is unicode it returns "???????"  !
But if I debug andset value to an string it's deug it shows me correct value.

s:=MediaInfo_Get(HND, Stream_General, 0, 'Title', Info_Text, Info_Name);//in 
debug s hint shows correct value but ListBox add ???
ListBox.Items.Add(s);

 Regards,
Ara
 -- 
http://www.fastmail.com - Access your email from home and the web

--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus


  
--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to