TStrings型の変数を正しく宣言するには?

解決


おおさわ  URL  2004-01-14 22:13:41  No: 6725  IP: 192.*.*.*

はじめまして。おおさわと申します。Delphi7 pro を使っています。
早速質問させていただきたいのですが、
TStrings型の変数を以下のコードで宣言して実行すると、
"Abstractエラー"という例外が発生して正しく実行できません。
どうすればTStrings型の変数を正しく宣言できるかご教授よろしくお願いいたします。

procedure Form1.StrTest;
var
  Strs : TStrings;
begin
  Strs:= TStrings.Create;
  Strs.Add('This is string.');    //ここで例外発生
  Form1.Caption:= Strs[0];
end;

編集 削除
 2004-01-14 22:17:17  No: 6726  IP: 192.*.*.*

Strs:= TStringList.Create;

編集 削除
jok  2004-01-14 22:19:08  No: 6727  IP: 192.*.*.*

TStrings は、TStringList などの派生もとになっている抽象クラスです。
インスタンスをつくってはいけません。TStringList クラスを使ってください。

編集 削除
おおさわ  URL  2004-01-15 22:58:27  No: 6728  IP: 192.*.*.*

実行できました!ありがとうございます!
TStringList と言うものを使うのですか、そのようなものがあるとは知りませんでした。
そのため、今までは TStrings でエラーがでるからと array of string を使っていたので、かなり効率の悪いコードになってしまいました。
長年の疑問が解決できてよかったです。本当にありがとうございました。

編集 削除