В TImageList первоначально задал widh:=256, (в TImageList 4 картинки. Используются для вкладок TpageControl) через некоторое время потребовалось увеличить widh до 285. Увеличиваю, запускаю компиляцию и все зависает. В чем здесь может быть проблема? есть ли всетаки способ увеличить ширину картинок в TImageList? Если нет, то нет ли другого компонента, который мог бы заменить TImageList для этой цели? Код программы здесь нипричем. Гдето читал что именно сам TImageList вызывает зависание
Рантайм - это время выполнения программы. То есть, не бросаешь компонент на форму в Дизайнере, а создаешь его через myImageList := TImageList.Create(nil) где-нибудь в начале, при старте программы, устанавливаешь нужные размеры, загружаешь из какого-нибудь списка картинки, и назначаешь созданный ImageList в PageControl. Естественно, как и говорили в Embarcadero, никакой поточной обработки, это опять приведет к зависанию.
Ну, вот я попробовал:
procedure TForm1.FormCreate(Sender: TObject); var bm: TBitmap; i: integer; begin myImageList := TImageList.CreateSize(285, 16); // эту переменную описал в классе формы with myImageList do begin for i := 1 to 4 do begin bm := TBitmap.Create; bm.LoadFromFile(Format('%sp0%d.bmp', [ExtractFilePath(ParamStr(0)), i])); Add(bm, nil); bm.free; end; end; PageControl1.Images := myImageList; end;
, в папке с проектом лежат еще 4 файла (p01.bmp, p02.bmp, p03.bmp и p04.bmp) размером 285*16. Все нормально создается, ничего не виснет. Не забудь удалить myImageList (при удалении формы, наверное, раз создавали при Form.Create)