Open fcying opened 1 month ago
测试代码, 就是按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() 就会报这个错误了.
access violation
测试代码, 就是按btn后, 打印RichEdit内容, RichEdit.Text()无法正确显示, 感觉是长度不对? RichEdit.Lines().Text() 能正常显示, 这两个有什么差别吗?