TStringList に文字列を追加する際に問題があります。他の投稿を検索しましたが、これに対する答えが見つかりませんでした。
私がやろうとしているのは、大量の文字列 (14000 以上) を TStringList に追加することですが、プロセスのどこかで EAccessViolation が発生します。私が使用しているコードは次のとおりです。
procedure TForm1.FormCreate(Sender: TObject);
begin
List := TStringList.Create;
List.Duplicates := dupAccept;
end;
procedure TForm1.ButtonStartClick(Sender: TObject);
begin
List.Clear;
List.Add('125-AMPLE');
List.Add('TCUMSON');
List.Add('ATLV 4300');
List.Add('150T-15');
List.Add('TDL-08ZE');
List.Add('RT20L');
List.Add('SIN LINEA');
List.Add('TIARA');
List.Add('FL200ZK1');
List.Add('FL250ZK1');
List.Add('SIN LINEA');
List.Add('CENTAURO-70 S.P.');
List.Add('CORSADO');
{ This list continues to about 14000 strings...}
List.Add('VOSJOD 2');
List.Add('Z 125');
List.Add('ZUMY');
List.Add('NEW AGE 125');
List.Add('SIN LINEA');
end;
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
FreeAndNil(List);
end;
このコードの何が問題なのですか? リストに重複した文字列が含まれているため、Duplicates
プロパティをに設定しますdupAccept
。を使用してリストをロードできましたがLoadFromFile
、アプリケーションの外部にテキスト ファイルを置きたくありません。
あなたが私を助けてくれることを願っています!!! さらに情報が必要な場合は教えてください。
どうもありがとうございました。本当にありがとうございました。