【问题标题】:Array of TImage (Delphi Android)TImage 数组(Delphi Android)
【发布时间】:2014-10-15 13:02:04
【问题描述】:
procedure TForm1.controlClick(Sender: TObject);
var
  i: Integer;
begin
  for i := 2 to Dest.Count-1 do
  begin
    img[i-2].Create(Form1);
    with img[i-2] do begin
      Parent:= Panel1;
      Width:= 100;
      Height:= 150;
      Top:= 10;
      Left:= (i-2)*100;
    end;
  end;
end;

img 类型是 TImage 数组,控件是选项卡。我想让 timages 像 android 画廊一样显示。但这给了我一个错误访问冲突。

【问题讨论】:

  • 你在哪里定义数组的大小?
  • 您的img[i-2] 未初始化。
  • @JamesBarrass 我定义为 img: array of TImage; (我试图创建动态大小)
  • 在使用它来定义它的大小之前,您需要对其调用 SetLength。
  • img.SetLength(Dest.Count); ? @JamesBarrass

标签: delphi


【解决方案1】:

这看起来像是创建对象时的经典错误。而不是

obj.Create;

你必须写:

obj := TSomeClass.Create;

在您的情况下,您首先需要分配数组:

SetLength(img, Dest.Count-2);

然后在你写的循环中:

img[i-2] := TImage.Create(Form1);

实例化图像。

【讨论】:

  • 哦,好的,我使用 flowlayout。谢谢大卫。 :)
  • 如何添加点击事件?
  • 这听起来像是一个新问题。我们无法真正回答 cmets 中的新问题。
猜你喜欢
  • 2015-11-28
  • 2011-05-17
  • 1970-01-01
  • 1970-01-01
  • 2021-12-23
  • 2013-09-26
  • 1970-01-01
  • 2014-07-14
  • 1970-01-01
相关资源
最近更新 更多