一自定义函数问题,请朋友们帮忙看看
取昵称麻烦 2008-09-20 10:59:34 函数如下:
procedure TForm1.initButtons(AParent: TWinControl; C: Integer;
var Button:array of TSpeedButton ; ButtonClick: TinitButton=nil);
const
bWidth =80;
bHeight =50;
cSpace =8;
vSpace = 10;
var
i,j:Integer;
begin
//SetLength(Button,C);
j:=0;
for i := 0 to C -1 do
begin
Button[i] := TSpeedButton.Create(Self);
Button[i].Width := bWidth;
Button[i].Height := bHeight;
Button[i].Caption := Button[i].Name+IntToStr(i);
Button[i].Parent := AParent;
if i=0 then
begin
Button[i].Top := vSpace;
Button[i].Left := cSpace;
end
else if (Button[i-1].Left + Button[i-1].Width +cSpace+Button[i].Width+cSpace) <= AParent.Width then
begin
Button[i].Top := Button[i-1].Top;
Button[i].Left := Button[i-1].Left + Button[i-1].Width +cSpace ;
end
else
begin
Inc(j);
AParent.Height := AParent.Height + (Button[i].Height+cSpace) * j;
Button[i].Top := vSpace+(Button[i].Height+vSpace)*j;
if j=1 then
Button[i].Left := cSpace
else
Button[i].Left := Button[i-1].Left + Button[i-1].Width +cSpace;
end;
Button[i].Tag := i;
if Assigned(ButtonClick) then ButtonClick(Button);
end;
end;
调用如下:
procedure TForm1.FormCreate(Sender: TObject);
const
C =15
var
Buttons1 : array of TSpeedButton;
begin
SetLength(Buttons1,C);
initButtons(pnlfirst,C,Buttons1,ButtonClick1);
end;
运行时提示:incompatible types :'Array' and 'TObject'错误
请教各位怎么解决