今天我偶然發現了一些神祕的東西。這行代碼:當我的字符串包含#0個字符時,爲什麼ShowMessage會給出意想不到的輸出?
showmessage(menuMain.player[2] + ' ready!');
生成此消息(例如menuMain.player [2] =播放器):
播放
但是,如果我把代碼這種方式(對於例如menuMain.player [2] =播放器):
showmessage('Test: ' + menuMain.player[2]);
它將產生這樣的信息:
測試:球員
根據調試器,串(buffer := menuMain.player[2] + ' ready!')
的準確值是這樣的:
'球員' #0#0#0#0#0# 0#0#0'準備好了!'
我真的相信這是一個編譯器故障,因爲我已經在另一個代碼塊確切同一直線上,並且它完美的作品。
現在對我來說困難的部分是,我是愚蠢的,或者這確實是一個小故障?
你對'menuMain'的聲明是什麼? – MartynA
請提供一個我們可以用來重現此問題的[mcve]。 –
@MartynA menuMain是該項目的主要形式,player是數組[1..2]的字符串。 –