小编Her*_*iik的帖子

在运行时创建对象并使用它们

我的程序运行时创建的对象有问题

首先我创建n个对象(假设n:= 3)

for i:=0 to n-1 do
  begin
    With TGauge.Create(Form1) do
      begin
        Parent  := Form1;  // this is important
        Left    := 20;     // X coordinate
        Top     := 20+i*45;     // Y coordinate
        Width   := 250;
        Height  := 20;
        Kind    := gkHorizontalBar;
        Name    := 'MyGauge'+IntToStr(i);
        //.... 
        Visible := True;
      end;
  end;
Run Code Online (Sandbox Code Playgroud)

这三个对象在表单中创建并可见.现在我想改变它的'属性,但每当我尝试访问这些创建的对象时,我只会得到它

EAccessViolation
Run Code Online (Sandbox Code Playgroud)

例如,当我尝试获取一个对象的名称时

g := Form1.FindComponent('MyGauge0') as TGauge;
Form1.Label1.Caption:=g.Name;
Run Code Online (Sandbox Code Playgroud)

delphi components runtime reference delphi-7

0
推荐指数
1
解决办法
776
查看次数

标签 统计

components ×1

delphi ×1

delphi-7 ×1

reference ×1

runtime ×1