5

ShowMessage()在 Delphi XE5 中缩短文本。

这对我来说是新的,还是由于编码 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变量上时,它会显示完整的内容。

4

1 回答 1

7

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

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

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

您可能希望微调所有者的选择HWND以通过,但您明白了。

于 2013-11-08T19:42:57.057 回答