From 8f1de79d6d6fed8fda51e7f04201b1acadf48b4b Mon Sep 17 00:00:00 2001 From: paul Date: Mon, 5 Oct 2009 09:07:39 +0000 Subject: [PATCH] lcl: fix OpenURL for WinCE git-svn-id: trunk@22040 - --- lcl/lclproc.pas | 32 +++++++++++++++++++------------- 1 file changed, 19 insertions(+), 13 deletions(-) diff --git a/lcl/lclproc.pas b/lcl/lclproc.pas index 5ab4ebdfd4..f49aca76a2 100644 --- a/lcl/lclproc.pas +++ b/lcl/lclproc.pas @@ -4341,25 +4341,26 @@ end; {$IFDEF Windows} function OpenURL(AURL: String): Boolean; - -{$IFDEF WinCE} - const - UnicodeEnabledOS = True; -{$ELSE} - function UnicodeEnabledOS: Boolean; - begin - Result := Win32Platform = VER_PLATFORM_WIN32_NT; - end; -{$ENDIF} - var +{$IFDEF WinCE} + Info: SHELLEXECUTEINFO; +{$ELSE} ws: WideString; ans: AnsiString; +{$ENDIF} begin Result := False; if AURL = '' then Exit; - if UnicodeEnabledOS then + {$IFDEF WinCE} + FillChar(Info, SizeOf(Info), 0); + Info.cbSize := SizeOf(Info); + Info.fMask := SEE_MASK_FLAG_NO_UI; + Info.lpVerb := 'open'; + Info.lpFile := PWideChar(UTF8Decode(AURL)); + Result := ShellExecuteEx(@Info); + {$ELSE} + if Win32Platform = VER_PLATFORM_WIN32_NT then begin ws := UTF8Decode(AURL); Result := ShellExecuteW(0, 'open', PWideChar(ws), nil, nil, 0) > 32; @@ -4369,6 +4370,7 @@ begin ans := Utf8ToAnsi(AURL); // utf8 must be converted to Windows Ansi-codepage Result := ShellExecute(0, 'open', PAnsiChar(ans), nil, nil, 0) > 32; end; + {$ENDIF} end; {$ELSE} {$IFDEF DARWIN} @@ -4408,7 +4410,11 @@ begin end; end; {$ENDIF} -{$ENDIF} + + +end; + + {$ENDIF} procedure FreeLineInfoCache; var