Delphi XE5中的ShowMessage()可以缩短文本。

这是我的新手,还是归因于编码url时的编码字符?我需要看整个东西。

我使用以下函数对我的网址进行编码:

function TConnector.EncodeUrl(aDecodedUrl: String): String;
begin
  result:= tIdUri.URLEncode(aDecodedUrl);
end;

然后,我在这里打电话:
zEncodedUrl := Connector.EncodeUrl('http://' + Connector.Host + 'Node:' + edtPath.Text + '.GetObjectListDataAsJSON');

编辑:而传递给ShowMessage时,我得到了:

我应该注意,在调试并将鼠标放在zEncodedUrl变量上时,它会显示完整的内容。

最佳答案

这就是Vista任务对话框的 native 行为,至少如Delphi所说。在Windows上调用ShowMessage时,将调用Vista任务对话框。它不会分割太长的行。如果您的文本包含空格,则将其拆分。

一个简单的解决方法是调用旧的MessageBox

MessageBox(Application.MainForm.Handle, PChar(Message), PChar(Caption), MB_OK);

您可能需要微调要传递的所有者HWND的选择,但是您明白了。

关于windows - Delphi XE5中的ShowMessage缩短了,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19866923/

10-11 15:15