x11 Posted July 17, 2020 Share Posted July 17, 2020 Программно заполняю карусель, чтобы сделать слайдер с картинками. Т.е. на форме лежит пустая карусель: Заполняю так: procedure TFormMobile1.LoadImagesPhotos; var i: Integer; sPath, s: string; LList: TStringDynArray; UnimImage: TUnimImage; UnimCarouselPage: TUnimCarouselPage; begin if carouselPhotos.PageCount > 0 then for i := pred(carouselPhotos.PageCount) downto 0 do carouselPhotos.Pages[i].Destroy; sPath := IncludeTrailingPathDelimiter(sPath) + Self.IDObj.ToString; LList := GetListDocs(sPath); if Length(LList) = 0 then exit; for s in LList do begin UnimCarouselPage := TUnimCarouselPage.Create(carouselPhotos); UnimCarouselPage.Parent := carouselPhotos; UnimImage := TUnimImage.Create(UnimCarouselPage); UnimImage.Parent := UnimCarouselPage; UnimImage.Align := alClient; UnimImage.Stretch := True; if TFile.Exists(s) then begin UnimImage.Picture.LoadFromFile(s); UnimImage.Hint := s; UnimCarouselPage.Hint := s; end; end; end; Картинки отображаются и листать можно. Потом мне нужно удалить выделенную картинку. И тут проблема: PageCount возвращает 0 (ноль). На кнопке есть код проверки количества страниц в карусели: if carouselPhotos.PageCount > 0 then ... удалить файл и страницу карусели Quote Link to comment Share on other sites More sharing options...
x11 Posted July 17, 2020 Author Share Posted July 17, 2020 Я так подразумеваю, что не хватет метода для добавления страницы, типа UnimCarouselPage := TUnimCarouselPage.Create(carouselPhotos); UnimCarouselPage.Parent := carouselPhotos; carouselPhotos.Pages.Add(UnimCarouselPage); Quote Link to comment Share on other sites More sharing options...
x11 Posted July 17, 2020 Author Share Posted July 17, 2020 Дошло. После создания страницы, нужна ещё одна строка: UnimCarouselPage := TUnimCarouselPage.Create(carouselPhotos); UnimCarouselPage.Parent := carouselPhotos; UnimCarouselPage.Carousel := carouselPhotos; Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.