なぜかTstringsって使いにくいようなきがすのですが・・・

解決


ちらつき防止隊員  2006-03-21 09:21:57  No: 20635

お世話になります。

type
  TmyColorBOX=class(TcolorBOX)
  protected
    procedure CreatMENU();
  public
    constructor creat(Tobjct);override;  
  end;
  
  Tmainform=class(Tform)
    ColorBOX1:TcolorBOX;

  end;

  var
    MycolorBOX:TmyColorBOX
    mainform:Tmainform;

  procedure Tmainform.creat(
  begin
    Mycolorbox:=TmyColorBOX.creat(self);
    ColorBOX1.items:=Mycolorbox.items;
  end;

  constructor TmyColorBOX.creat
  begin
  self.CreatMENU;
  end;

  Procedure TmyColorBOX.CreatMENU()
  begin
    AddItem('OrgColor',$00FDFDFD);
  end;

ようするにカラーボックスのアイテムをフォームに貼り付けてあるカラーボックスにTmyColorBOXのアイテムを代入したいのですが、エラーがでるのです。

「親ウィンドウを持っていない」とかなんやら。(コンパイルはできますが、実行ができません)
もちろん、フォームに貼り付けたカラーボックスに
  mainform Tmainform.creat
  bgin
    colorbox1.addItem('OrgColor',$00FDFDFD)
  end;
とやればエラーはま逃れるのですが・・・。
僕がTstringsを使おうとうるといっつもエラーになるのでタイトルこんなのにしました。質問の内容はTstringsとは関連するだけですが・・・。関係ないかも?
それにTstrings.creatをすると警告がなりますし・・・。
何か基本的なことを教えてくれるようなサイトなどあれば教えてください。


えーと  2006-03-21 10:16:03  No: 20636

まず、やりたいことを箇条書きしてください。
それから、タイプミスが多くて、なにが問題なのか分かりづらいです。
ちゃんとコードエディタからコピペしてください。


匿名?  2006-03-21 18:23:50  No: 20637

procedure Tmainform.creat(
  begin
    Mycolorbox:=TmyColorBOX.creat(self);
    Mycolorbox.Parent := Self;  //追加

親子問題に口出しせんでもらおう(笑)


ママん  2006-03-21 19:04:42  No: 20638

とりあえずコンパイルっていうのは文法さえ間違っていなければコンパイルできます。つまりエラー云々とは別問題なんです。
TObjectを勉強してください。
それとソース出す場合は手書きはだめですよ。


HOta  2006-03-21 21:15:30  No: 20639

Tstrings型は抽象型ですから、そのまま扱うことはできません。
派生した、TStringListなどを使います。


ちらつき防止隊員  2006-03-28 09:04:28  No: 20640

すいません。解答が遅いついでに自己解決で。
とにかくみなさん貴重なお時間をありがおうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加