Я должен создать массив и поместить все элементы управления там, чтобы получить доступ them.Here короткий пример:Как создать массив элементов управления?
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
const Test:Array[0..2] of TButton = (Button1,Button2,Button3);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
end.
Undeclarated idenitifier «Button1» в строке, где я declarated мои array.But это declarated три строки выше.
В чем проблема, как разместить все элементы управления в массиве?
EDIT:
Спасибо за ваши ответы, но у меня есть проблемы:
var TestA:TObjectList<TButton>;
var index:TComponent;
begin
TestA := TObjectList<TButton>.Create(false);
for index in Form7 do
if pos(index.name, 'Button') = 1 then
TestA.add(TButton(index));
TestA[0].Caption := 'Test'; //Exception out of range.
Что именно вы хотите сделать точно? Все ли кнопки управления или сочетание разных элементов управления? Есть ли у них что-то общее, как все они сидят на одном и том же родительском контроле или соглашении об именах? Кроме того, какую версию Delphi вы используете? – CodeAndCats
Его один контроль TButton. –
Я думаю, что ваши параметры Pos неправильны, поэтому вы не создаете никаких элементов управления. Переход в отладчик покажет вам, что происходит. – mj2008