Автор: dardreams
Дата сообщения: 21.02.2009 10:54
Добрый день.
В первый раз решил создать массив компонентов и вот в действиях запустлая кто нибудь скажите почему здесь происходит ошибка ?, Причем сообщение приходит с номером, а действие перекрашивание вызывает ошибку:
<%
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.
%>