dardreams
Junior Member | Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору Добрый день. В первый раз решил создать массив компонентов и вот в действиях запустлая кто нибудь скажите почему здесь происходит ошибка ?, Причем сообщение приходит с номером, а действие перекрашивание вызывает ошибку: <% unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, Grids; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private declarations } public Procedure PanelOnClick(Sender: TObject); { Public declarations } end; var Form1: TForm1; Panel: array[0..811] of Tpanel; x,y,z:integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var i,j:integer; begin y:=-20; Width:=585; Height:=586; for j:=0 to 32 do begin y:=y+20; i:=0; x:=0; for i:=0 to 28 do begin Panel[i]:=Tpanel.Create(Self); Panel[i].Parent:=self; Panel[i].Width:=20; Panel[i].Height:=20; Panel[i].Tag:=z; Panel[i].Left:=x; Panel[i].Top:=y; Panel[i].OnClick:=PanelOnClick; x:=x+20; Inc(z); end; end; end; Procedure TForm1.PanelOnClick(Sender: TObject); var a:integer; begin a:=(Sender as TPanel).tag; ShowMessage(FloatToStr(a)); Panel[a].Color:=clBlack; end; end. %> |