From 770e75e81446efc764f1d0657d780b031b7948f9 Mon Sep 17 00:00:00 2001 From: Jacek Pazera Date: Thu, 16 Jun 2022 19:51:17 +0200 Subject: [PATCH] Win.Dialogs: Fix display of UNICODE strings in WinMsg func. (FPC) --- Base/JPL.Win.Dialogs.pas | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Base/JPL.Win.Dialogs.pas b/Base/JPL.Win.Dialogs.pas index 0be010d..46e3336 100644 --- a/Base/JPL.Win.Dialogs.pas +++ b/Base/JPL.Win.Dialogs.pas @@ -5,7 +5,7 @@ interface {$IFDEF MSWINDOWS} {$I .\..\jp.inc} -{$IFDEF FPC}{$MODE OBJFPC}{$H+}{$ENDIF} +{$IFDEF FPC}{$mode delphi}{$H+}{$ENDIF} uses Windows; @@ -36,7 +36,12 @@ implementation function WinMsg(const Text, Caption: string; Handle: HWND = 0; MBType: DWORD = MB_OK or MB_ICONINFORMATION): integer; begin + {$IFDEF FPC} + // NOTE: Dlaczego w FPC bez takich kombinacji (PWideChar + UnicodeString) pojawiajÄ… siÄ™ tutaj "krzaki"? + Result := MessageBoxW(Handle, PWideChar(UnicodeString(Text)), PWideChar(UnicodeString(Caption)), MBType); + {$ELSE} Result := MessageBox(Handle, PChar(Text), PChar(Caption), MBType); + {$ENDIF} end; procedure MB(const Text: string; Caption: string = 'Information'; Handle: HWND = 0);