如果我在 Delphi 11.3 中按如下方式传递文本,请帮助我找出为什么以下代码不起作用而相同的代码有效
//Working
var TextRect: TRect;
var myText : String;
Text := 'This is a test string';
TextRect.Top := 0;
TextRect.Left := 0;
TextRect.Height:= 80;
TextRect.Width := 200;
Canvas.TextRect(TextRect, myText,[tfCenter, tfWordBreak]);
//Not Working
var TextRect: TRect;
var myText : String;
Text := myItemDescription.Text;
TextRect.Top := 0;
TextRect.Left := 0;
TextRect.Height:= 80;
TextRect.Width := 200;
myPage.Canvas.TextRect(TextRect, myText,[tfCenter, tfWordBreak]);
or even if I pass a string from a database it doesn't work
谢谢
我找到了一种让它工作的方法,但看起来这是一个需要报告的错误。
如果我将我的字符串传递到 myText 字符串中,那么它就可以工作了。
myText := String(ItemDescription.Text);
你分配
Text := 'This is a test string';
然后你说
Canvas.TextRect(TextRect, myText,[tfCenter, tfWordBreak]);
myText 不是空的吗?
还有一个简单的打印文本的方法是:
Canvas.Pen.Color := clblack; Canvas.Font.Name := 'Arial'; Canvas.Font.Size := 8; Canvas.TextOut(0, 0, '这是我的文字');