Перейти к содержанию
  • 0
x11

imagelist1 property source does not exists

Вопросы

Не могу понять, что случилось в проекте с TDataModule.

Проект мультиплатформенный. В прошлый раз сохранил, закрыл, ничего необычного. Сегодня открываю, а мне ошибку Delphi Berlin показывает.

Цитата

imagelist1 property source does not exists

 

И действительно, у TImageList отсутствует свойство source. Открываю, а он выглядит по-другому, как будто из VCL.

Закрываю проект, создаю мультиплатформенную форму, кладу TImageList на форму и о чудо - совершенно другой TImageList и свойство Source есть.

Что случилось с моим TDataModule? Как среде дать понять, что это мультиплатформенный проект?

1fiyUKzBQk_JeS-4KOE5TA.png

Поделиться сообщением


Ссылка на сообщение

Рекомендуемые сообщения

  • 0

У дата модуля есть свойство отвечающее за то, дата модуль какого фреймворка это: VCL или FMX. На основании этого свойства среда определяет TImageList какого фреймворка использовать. Возможно у вас стоит значение VCL.

2017-12-17_19-40-21.png

Поделиться сообщением


Ссылка на сообщение
  • 0

Попробуйте его задать.

У меня есть подозрение, что среда не смогла его прочитать, из-за директив условной компиляции.

Поделиться сообщением


Ссылка на сообщение
  • 0
1 минуту назад, Brovin Yaroslav сказал:

из-за директив условной компиляции

проверил - нет директив вообще никаких

Screenshot_10.png

Поделиться сообщением


Ссылка на сообщение
  • 0

У меня два датамодуля, во втором, именно, где и всплыла проблема, то же самое. Т.е. проблема в двух датамодулях.

Поделиться сообщением


Ссылка на сообщение
  • 0

Я же дал снимок - директив у второго датамодуля нет.

Я создаю новый мультиплатформенный проект, добавляю в него новый модуль данных - проблем нет и Imagelist правильный. Но при добавлении проблемного модуля данных к этому проекту получаю ошибку, что свойства Source нет, а затем ошибку:

Цитата

Unit "udmRepo.pas" is incompatible with the FMX framework used by the project.

Adding it may result in compilation errors or unexpected behavior. Continue?

 

 

 

Поделиться сообщением


Ссылка на сообщение
  • 0

Вот полный текст pas файда модуля данных

 

unit udmRepo;

interface

uses
  System.SysUtils, System.Classes, System.ImageList, FMX.ImgList;

type
  TdmRepo = class(TDataModule)
    ImageList1: TImageList;
    imgListListView: TImageList;
    procedure DataModuleCreate(Sender: TObject);
  private

    { Private declarations }
  public
    procedure SetStyle;
  end;

var
  dmRepo: TdmRepo;

implementation

uses
  FMX.Types, UDM, uShares, FMX.Dialogs, FMX.Styles, System.Types;

{%CLASSGROUP 'FMX.Controls.TControl'}

{$R *.dfm}


procedure TdmRepo.DataModuleCreate(Sender: TObject);
begin
  SetStyle;
end;

procedure TdmRepo.SetStyle;
 var
  aPlatformStyle, sStyle: String;
  aStyle: TFMXObject;
begin
   aStyle := nil;

   if not dm.UniConnection1.Connected then
     try
       dm.UniConnection1.Connect;
     except
       on e:exception do
       begin
         ShowMessage('Ошибка подключения к базе: ' + sLineBreak + e.Message);
         exit;
       end;

     end;// try


   sStyle := dm.GetOption2Param(AppStyleParamName);// название стиля берем из базы
   if sStyle = 'Default' then
   begin
     sStyle := '';
     exit;
   end;

   //если выбираем из ресурсов
   if sStyle <> '' then
   begin
     aPlatformStyle := constPlatform[TOSVersion.Platform] + sStyle;
     aStyle    := TStyleStreaming.LoadFromResource(HInstance, aPlatformStyle, RT_RCDATA);
     aStyle.StyleName := sStyle;

     if not assigned(aStyle) then
     begin
       ShowMessage('Стиль не найден: ' + aPlatformStyle);
       exit;
     end;
   end;// if comboStyles.ItemIndex > 0 then

   TStyleManager.SetStyle(aStyle);
end;


end.

 

Поделиться сообщением


Ссылка на сообщение
  • 0
1 минуту назад, Brovin Yaroslav сказал:

Почему в uses секции объявление двух модулей имадж листа?

не знаю, не заметил...

Я добавил в новый мультиплатформенный проект новый модуль данных. Кинул в него 2 ImageList

Вот листинг Uses

unit Unit2;

interface

uses
  System.SysUtils, System.Classes, System.ImageList, FMX.ImgList;

 

я ничего руками не дописывал

Поделиться сообщением


Ссылка на сообщение
  • 0

Если брать System.ImageList и нажать Сохранить, то System.ImageList автоматически добавляется в секцию USES.

Поделиться сообщением


Ссылка на сообщение
  • 0
6 минут назад, Brovin Yaroslav сказал:

Почему в uses секции объявление двух модулей имадж листа?

Один от VCL, другой от FMX?

 

Видать, надо это спрашивать у разработчиков FMX и/или Delphi.

Поделиться сообщением


Ссылка на сообщение
  • 0

а где должен быть {%CLASSGROUP 'FMX.Controls.TControl'} ?

Экспериментировал и заметил, что у др. модулей данных объявление в другом месте

Screenshot_14.png

Поделиться сообщением


Ссылка на сообщение
  • 0

Всё встало на свои места. Объявление должно быть после implementation
 

implementation

{%CLASSGROUP 'FMX.Controls.TControl'}
{$R *.dfm}

 

Но я ручками ничего не переносил.

Поделиться сообщением


Ссылка на сообщение
  • 0
Только что, x11 сказал:

А директива

{$R *.dfm}


где должна находиться?

В любом месте в секции Implementation

Поделиться сообщением


Ссылка на сообщение
  • 0
15 часов назад, x11 сказал:

Объявление должно быть после implementation

Да, именно так, сам на это напарывался, даже вроде баг заводил. Понять это невозможно, это надо знать!
Раздел Uses может добавиться автоматически, например по Ctrl+A и он добавляется после implementation и перед %CLASSGROUP.

Поделиться сообщением


Ссылка на сообщение

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.


  • Похожий контент

    • От x11
      Не знаю, куда правильно задать вопрос. Решил здесь.
      Обычная стандартная связка TImageList + TActionList+TSpeedButton.
      в TImageList загрузил картинку 32*32.
      Всё связал и она появилась у кнопки на панели.
      Обратил внимание, что картинка 32*32 маловата и я решил загрузить картинку 48*48.
      Удалил из TImageList картинку и загрузил новую. Но размер картинки на кнопке остался 32*32.
      А потом ещё и исчезла картинка из TActionList.
       
      В TImageList только одна картинка.
      Delphi Berlin.


    • От DrMzi
      Доброго времени суток!
      Собираю тестовый проект под Win, иконки вижу.
      C:\Users\Public\Documents\Embarcadero\Studio\19.0\Samples\Object Pascal\Multi-Device Samples\User Interface\ListView\ListViewImageIndex
      Собираю тестовый проект под Android, иконок нет.
      Что я делаю не так ?

      Поправка. Такое поведение у apk на xiaomi mi5, запустил на Philips Xenium - иконки есть. 
       
    • От ENERGY
      Upd:
      Пожалуйста проголосуйте. Думаю это всех касается, т.к. проблема связана и с TImageList и с TImage. 
      https://quality.embarcadero.com/browse/RSP-18210
       
       
      Сейчас столкнулся с большой проблемой перед самым релизом для заказчика..
      17 картинок, разного размера. Сейчас в TImageList  сетка рисуется постоянно при обновлении Source каждой картинки. C каждым разом становится сетка четче.  Если раньше я просто обновлял на новые картинки, и таким образом решал проблему, то сейчас после обновления source картинок сетка остается на многих картинках, причем я даже не закрываю TImageList . Только начинаю замещать одни картинки, на других появляется сетка..
      И вот что теперь делать незнаю..
       
      Да кстати картинки портятся и в TImage со временем в Design Time.
      Сетка означает что картинку много раз масштабируют. Но почему не сохраняют оригинал, это мне не понятно..
      Что тут можно придумать?
       
      Delphi Berlin Update 2
    • От ENERGY
      Меня это проблема преследует со времен VCL...
      Подскажите как же ее решить...
      FMX TListView - ItemAppearanceName = ImageListItem.   Лежит fmx TimageList, в настройках указано 16x16 и прорачный цвет clNone, добавил одну иконку 16x16 с прозрачностью. Если запустить под Windows 10  все ок. Если запустить под Android то при выделении (selected) вместо прозрачности белый цвет. В результате иконка некрасиво обрамлена в белом квадрате.. Иконку делал в Axiallis IconWorkShop, сохранил как ico,  Пробовал заливать белым вместо прозрачного, и затем ставить в TimageList белый как прозрачный - тоже самое...
      Что же делать...
    • От RoschinSpb
      Статья: http://community.embarcadero.com/blogs/entry/timagelist101ru-1 Автор: Сергей Рощин Обзор новых возможностей, которые появились в компоненте и редакторе TImageList для Delphi R101 (2016 год, Version 24)
    • От FAN
      Очень нравится timagelist, большое спасибо!
      Но хотелось бы иметь возможность выбрать несколько destination images и отредактировать их свойства
      Также хотелось бы добавлять destination images не по одиночке а группами с заданными свойствами
       
       
       
    • От AndroidHalfNoob
      Что то не могу догнать: загрузил в ImageList 2 картинки, а вот в ListView не получается их засунуть.
      var  LItem: TListViewItem;

      если прописываю прямой путь к файлу на компе, то все работает
       


    • От Vitaldj
      Коллеги, появился TImageList и это очень хорошо. Но не совсем понятно до конца как он работает? К простой кнопке я его прикрутил TButton, и он картиночка отобразилась влева. Но мне совсем не нравиться вид ее! Она какая то маленькая и отступ слава маловат. Вот для примера посмотрите, наверху кнопка с иконок сделана по старому, положил TImage, а внизу по новому, через TImageList.
      Как менять параметры отображения у TButton?

      А, еще прикол! В маке она вообще не отображается!!! ))


    • От ovk
      Прошу помощи,как вывести иконки в ListView которые хранятся в StyleBook ?
      у меня есть база,в ней хранятся ID иконок, которые нужно выводить,в StyleBook лежат иконки, может у кого есть подобный опыт?!
    • От 7profy
      Имеем: FireMonkey приложение (в XE5).
      Создаем TStyleBook в котором существуют несколько TImage (по типу TImageList). Бросаем на форму кнопочку TSpeedButton. Вопросы:
      Возможно ли на этапе Design-time прикрутить изображение из StyleBook на эту кнопочку? Аналогично "прикрутить" изображение к TAction?
  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...