2013-11-08 2 views
5

ShowMessage() в Delphi XE5 сокращает текст.ShowMessage в Delphi XE5 Сокращенный

Является ли это новостью для меня, или это связано с закодированными символами при кодировании URL-адреса? Мне нужно увидеть все это.

Я использую следующую функцию, чтобы закодировать мой URL:

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

Я тогда заехать здесь:

zEncodedUrl := Connector.EncodeUrl('http://' + Connector.Host + 'Node:' + edtPath.Text + '.GetObjectListDataAsJSON'); 

EDIT: И я получаю это когда передается ShowMessage:

screenshot

Следует отметить, что при отладке и размещении мыши над переменной zEncodedUrl она показывает полную картину.

ответ

7

Это собственное поведение диалогового окна задач Vista, по крайней мере, так называемое Delphi. И диалоговое окно задачи Vista - это то, что вызывается, когда вы вызываете ShowMessage в Windows. Он не будет разделять длинные линии. Если ваш текст содержит пробел, он будет разделен.

Простым обходным решением было бы назвать добрый старый MessageBox.

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

Вы можете подстроить выбор владельца HWND пройти, но вы получите идею.

+0

ДА! Я просто использовал это :) Но спасибо за великое расширение того, что происходит. Любая идея, если есть возможность вернуться к окну showmessage, нам все нравится? :) – LIVESTUFF

+2

Ну, вы можете установить 'UseLatestCommonDialogs' в' False', но это также испортит ваши диалоги файлов. И появившееся окно сообщения довольно слабое. Он вообще не сломает линии. Честно говоря, «MessageBox» - лучший выбор здесь. –

+0

Хорошо, спасибо вам большое! – LIVESTUFF

Смежные вопросы