【发布时间】:2015-03-11 19:09:48
【问题描述】:
我在用于邮件项目的表单上使用了以下代码。 我有一个表单,可以使用其中一个字符串列表调用以添加更多联系人。这工作正常,但是当我从选择联系人“返回”并调用我的 SetupMail 时,需要很长时间才能使用新的联系人列表实际更新表单上的控件 当我使用写入文件的 FormatDateTime('dd/mm/yyyy hh:nn:ss:zzz', Now) 进行计时时,for 循环的每个步骤大约需要 1 毫秒
procedure TfrmMailPrepare.SetupMail;
var
i: integer;
MailTo: string;
MailCc: string;
MailBcc: string;
begin
MailTo := '';
MailCc := '';
MailBcc := '';
for i := 0 to fMailTo.Count - 1 do
MailTo := MailTo + fMailTo.Strings[i] + '; ';
txtMailTo.Text := MailTo;
for i := 0 to fMailCc.Count - 1 do
MailCc := MailCc + fMailCc.Strings[i] + '; ';
txtMailCc.Text := MailCc;
for i := 0 to fMailBcc.Count - 1 do
MailBcc := MailBcc + fMailBcc.Strings[i] + '; ';
txtMailBcc.Text := MailBcc;
Refresh;
end;
【问题讨论】:
-
请提供完整的计划、您的时间安排以及您期望达到的性能的一些指标。
-
顺便说一句,您对 Refresh 的调用似乎很奇怪。看不出有这个需求。
-
刷新调用是一个实验。
-
这是一个典型的 SO 错误。始终发布原始代码,而不是您在尝试想法时破解的代码。
-
代码的复杂性让我很难做一个完整的测试。我想要的只是让控件在分配给它后立即显示新值
标签: performance delphi tstringlist