Показать сообщение отдельно
  #2  
Старый 17.12.2021, 13:33
Gareth Gareth вне форума
Активный
 
Регистрация: 21.03.2013
Адрес: Приднестровье
Сообщения: 202
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию

Цитата:
Сообщение от Gareth
Допустим я хочу разместить кнопки на scrollbox`e, каким образом я могу это сделать?
Так, вроде разобрался...
Теперь я создаю панели, на которых должны располагаться Gauge.
Код:
  private
    List_p: TObjectList;
    List_g: TObjectList;
    procedure p_click(Sender: TObject);
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  xTag: Integer;

implementation

{$R *.dfm}

procedure TForm1.p_click(Sender: TObject);
begin
  xTag := (Sender as TsPanel).Tag;
  ShowMessage(IntToStr(xTag));
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  List_p := TObjectList.Create(True);
  List_g := TObjectList.Create(True);
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin
  FreeAndNil(List_p);
  FreeAndNil(List_g);
end;

procedure TForm1.sSpeedButton1Click(Sender: TObject);
var
  p: TsPanel;
  g: TsArcGauge;
begin
  p := TsPanel.Create(sScrollBox1);
  p.Parent :=  sScrollBox1;
  p.Caption := 'aaaa';
  p.Height := 50;
  p.Align := alTop;
  p.OnClick := p_click;
  p.Tag := List_p.Add(p);
  {------------------------}
  g := TsArcGauge.Create(p);
  g.Parent := p;
  g.Align := alLeft;
  g.Width := 50;
  g.Tag := List_g.Add(g);
end;
Этот код компилится нормально, панели и gauge создаются но, после закрытия формы выходит ошибка:






И мне не понятно, нужно ли создавать несколько tobjectlist`ов для разных компонентов? Если я создам все компоненты в одном объектлисте, смогу ли я потом сортировать панели, по значениям в gauge.progress?
Никогда не работал с tobjectlist`ом , куча вопросов на самом деле))
Ответить с цитированием