我有个结构,里面有个字段是用的Array of WideChar,在用TEdit控件编辑时
按下面的方法获得了编辑结果,但是在删除了内容时就在结果后面出现了乱码。
应该怎么解决?
Var
EdNodeNameValue : WideString;
EdNodeNameValue := Edit1.Text
for TempStrLen := 1 to length(EdNodeNameValue) do
begin
PSubLayer(Node.Data)^.SubName[TempStrLen-1] := EDNodeNameValue[TempStrLen];
end;
...全文
777打赏收藏
用Array of WideChar编辑TEdit.Text的问题
我有个结构,里面有个字段是用的Array of WideChar,在用TEdit控件编辑时 按下面的方法获得了编辑结果,但是在删除了内容时就在结果后面出现了乱码。 应该怎么解决? Var EdNodeNameValue : WideString; EdNodeNameValue := Edit1.Text for TempStrLen := 1 to length(EdNodeNameValue) do begin PSubLayer(Node.Data)^.SubName[TempStrLen
因为在SubName[length(EdNodeNameValue)-1]之后也就是说在这个WideChar数组的第length(EdNodeNameValue)个元素之后,没有人为地加入一个#0结束符,所以,当Array of WideChar转换为字符串类型显示时,字符串并没有到这个位置而止,而后面的字符是我们不想要的乱码。