Watch, Follow, &
Connect with Us

For forums, blogs and more please visit our
Developer Tools Community.


Welcome, Guest
Guest Settings
Help

Thread: 手動でTLabelなど複数のコントロールをNewする際、同じ名前を与えてはダメですか?



Permlink Replies: 1 - Last Post: May 31, 2014 9:28 AM Last Post By: Hiroshi Honda
YUKIHIRO HIGASHI

Posts: 9
Registered: 5/2/02
手動でTLabelなど複数のコントロールをNewする際、同じ名前を与えてはダメですか?
Click to report abuse...   Click to reply to this thread Reply
  Posted: May 31, 2014 12:28 AM
Drag&Dropではなく、
下記のコードのように、手動でTLabelなど複数のコントロールをNewする際、同じ名前を与えてはダメですか?
エラーは発生してないようですが、なんか可笑しい動きがしているようです。

for (int i = 0; i < 100; i++)
{
TLabel* label = new TLabel(this);
label->Tag = i;
label->Name = "Test";
}

後で、FindComponent("Test")関数で各TLabelを探すのに便利ですので、
同じ名前を与えています。
Hiroshi Honda

Posts: 3
Registered: 6/20/07
Re: 手動でTLabelなど複数のコントロールをNewする際、同じ名前を与えてはダメですか?
Click to report abuse...   Click to reply to this thread Reply
  Posted: May 31, 2014 9:28 AM   in response to: YUKIHIRO HIGASHI in response to: YUKIHIRO HIGASHI
Mike Huang wrote:
後で、FindComponent("Test")関数で各TLabelを探すのに便利ですので、
同じ名前を与えています。
逆に不便ではないですか?
FindComponent("Test")では、100個のTLabelのうち
どれなのか特定できないと思いますが。
Delphiですが、私はこのようにして番号を振っています。
for i := 1 to 100 do
begin
  Label := TLabel.Create(Self);
  Label.Name := 'Test' + IntToStr(i);
end;

IDEでコンポーネントを配置するときは、Nameプロパティが重複すると
警告され登録できませんので、避けた方がいいのではないでしょうか。
Legend
Helpful Answer (5 pts)
Correct Answer (10 pts)

Server Response from: ETNAJIVE02