govcl
govcl copied to clipboard
RichEdit.Text() 无法正确返回中文, RichEdit.Lines().Text()正常
测试代码, 就是按btn后, 打印RichEdit内容, RichEdit.Text()无法正确显示, 感觉是长度不对? RichEdit.Lines().Text() 能正常显示, 这两个有什么差别吗?
type TMainForm struct {
*vcl.TForm
Open *vcl.TButton
Input *vcl.TRichEdit
splitter *vcl.TSplitter
Output *vcl.TRichEdit
}
var (
mainForm *TMainForm
inputPlaceholder string = "123中文测试456"
)
f.Input = vcl.NewRichEdit(mainForm)
f.Input.SetParent(rightPane)
f.Input.SetMaxLength(1000)
f.Input.SetAlign(types.AlTop)
f.Input.SetTextBuf(inputPlaceholder)
}
func (f *TMainForm) onOpenClick(sender vcl.IObject) {
fmt.Printf("len:%d data:%s lineData:%s\n", f.Input.GetTextLen(), f.Input.Text(), f.Input.Lines().Text())
}
如果数据量不大,可以用用lines.text的,另一方法本来是为了解决超大字符串的,以前测试过没啥问题,不知道咋的,看你这个又出现问题了,我到时候看看是什么问题。
看来昨晚碰到的 access violation 是字符串太长的问题了....
大概 1M 的数据, Lines().Text() 就会报这个错误了.