VB6アプリをDelphiにコンバートしています。
開発環境は XE7 です。
アプリは完成したのですが動作速度が遅くて困っています。
問題箇所は単純に TComboBox にデータを追加するところです。
問題を単純にするためにテストプログラムを作成しました。
=========== ↓Delphi テストプログラム ===========
procedure TForm9.SpeedButton3Click(Sender: TObject);
const
CnsMax = 5000;
var
WIdx: Integer;
WStr : String;
WStringList : TStringList;
begin
ComboBox1.Items.Clear;
TimeDisp( 'Start Combo' );
for WIdx := 1 to CnsMax do
begin
WStr := IntToStr( WIdx );
WStr := WStr + ' , ' + 'aaa'
+ WStr + ' , ' + 'BBB';
ComboBox1.Items.Add( WStr );;
end;
TimeDisp( 'End Combo' );
end;
procedure TForm9.TimeDisp( ArgS : String );
begin
Memo1.Lines.Add( ArgS + Formatdatetime ( 'hh:nn:ss', Now ) );
Application.ProcessMessages;
end;
=========== ↑Delphi テストプログラム ↑===========
実行結果
>Start Combo15:20:42
>End Combo15:21:09
約27秒かかっています。
VBで実行すると1秒もかかりません。
何かヒントを下さい。
よろしくお願いします。
なおここは、
「そんなつまらない質問をするところではありません。」
といったお返事でも結構です。HELP!
|