• 0
ANovokreschenov

Нерабочий Style Designer => непригодная к эксплуатации XE7

Вопросы

Поставил XE7, создаю новое приложение FMX, добавляю на форму StyleBook, захожу в Style Designer, добавляю TLayout и в него добавляю TRectangle, в дереве объектов выделяю TRectangle, но он не выделяется в дизайнере, если попробовать потянуть его мышкой в дизайнере, то он улетает в правый нижний угол окна дизайнера... Пробовал разные комбинации, результат один и тот же - невозможно выделять и манипулировать объектами в дизайнере... Баг подтвержденный, есть в QC... А есть ли какой-то workaround/path для этой проблемы? Или ждать Update N или XE 8?

 

Использую в работе Delphi более 12 лет, лучшая версия - Delphi 7, все что после - слабая надежда на кроссплатформу... сейчас смотрю на C# и Xamarin...

 

Для чего такой продукт и тем более за такие деньги?

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


Ссылка на сообщение
Поделиться на другие сайты

8 ответов на этот вопрос

  • 0

Несомненно, в версиях RAD Studio присутствуют непонятные баги, о которых довольно часто пишут на этом и иных форумах. Иногда это жутко мешает, приходится терять много времени на разбор проблемы, поиск иного решения и пр. Но справедливости ради хотел бы высказать несколько слов в защиту разработчиков. Вы говорите о реальном коммерческом продукте со своими плюсами и минусами. И абсолютно нормально то, что он не идеален за такие деньги.

Используя Delphi всего лишь 6 лет и вспоминая о Delphi7, приятно ностальгирую о действительно корректной и простой работе. Работе над МОРАЛЬНО УСТАРЕВШИМИ приложениями. Время не стоит на месте, и задачи, решавшиеся ТОГДА, уже совершенно неактуальны сейчас. К примеру, для меня очень важна быстрая разработка красивых и живых интерфейсов пользователя, кому-то другому подавай приложения под Андроид/IOS. И на Делфи7 это сделать невозможно или очень трудно.

А на этом форуме очень много разработчиков получают помощь от Ярослава Бровина и других участников, решают свои проблемы. Абсолютно бесплатно.

Прошу прощения за флуд, думаю, что корректнее обсуждать проблемы продуктов Embarcadero в отдельной ветке.

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Второй вопрос скорее риторический... чуть выше есть основной вопрос: А есть ли какой-то workaround/path для этой проблемы?

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

и не согласен насчет "морально устаревших" приложений (если не брать в расчет mac/ios/andriod) - не вижу ничего такого чего нельзя было бы сделать в той же Delphi 7 для Windows, ну да, придется больше сделать нажатий на клавиатуре...

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Несомненно, Вы правы. Поэтому я и написал про "очень трудно". А так и на ассемблере можно под Windows писать;)

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Workaround - видимо придется в блокноте рисовать.

Или на форме, а потом из текста fmx копировать в *.style

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Добрый день,

Рабочее решение - это задавать позицию компонентов в дизайнере, используя свойств инспектора объектов: Position, Size, Align, Anchors. В этом случае у вас есть возможность перемещать компоненты в стиле.

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

Добрый день,

Рабочее решение - это задавать позицию компонентов в дизайнере, используя свойств инспектора объектов: Position, Size, Align, Anchors. В этом случае у вас есть возможность перемещать компоненты в стиле.

Спасибо Ярослав, пока так и делаю... и буду ждать рабочую версию со следующим Update или XE8...

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


Ссылка на сообщение
Поделиться на другие сайты
  • 0

День добрый.

 

К слову о дизайнере стилей: для чего вообще нужен был дополнительный наворот с недоделанным интерфейсом? Чем не устроил готовый редактор формы, в котором можно делать всё то же самое но БЕЗ косяков с обновлением положения, размера, цвета, выделения элементов мышой?

 

Почему нельзя было реализовать его по принципу DataModule? - desing-time отображаемый невизуальный компонент, содержащий в себе кучу вложенных компонентов.

Изменено пользователем osvirt

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


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти


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

    • От YPOK5C
      Добрый день ! Кто подсказки почему при компиляции приложения под Андроид через USB выдаёт такие ошибки, при этом все apk файлы создаётся все они рабочие.  Unable to crete process unable to install Failure install failed update incompatible

    • От notricky
      Возникает вышеозначенная ошибка при попытке декодировать приходящий от сервера текст.
      Я пробовал в различных вариантах.
      http://www.fmxexpress.com/secure-your-rest-client-with-ssl-and-gzip-compression-in-delphi-xe8-firemonkey-on-android-and-ios/
      http://www.fmxexpress.com/decode-gzip-content-from-the-rest-client-in-delphi-xe7-firemonkey-on-android-and-ios/  
       
      Я получаю либо  ошибку из названия темы, либо  Error on call to ZLib library function inflateInit2_

      В общем не работает только на iOS (iPhone).
      На Android, Windows, MacOS работает корректно декомпрессия в автоматическом режиме, потому вопроса о строках не возникает.
    • От notricky
      Собственно есть способ получать и распаковывать данные, полученные в GZIP.
      В качестве примера:
      procedure TFMain.FormCreate(Sender: TObject); begin (ReqGet.Client.HTTPClient.Peer.GetObject as TIdCustomHTTP).Compressor := TIdCompressorZLib.Create(ReqGet.Client.HTTPClient.Peer.GetObject as TIdCustomHTTP); ReqGet.AcceptEncoding := 'gzip,deflate'; ... end; А вот как их отправить (как запаковать - механизм? и куда подставить строку) - не понятно.
      Отправка интересует и POST и GET
      Прошу помощи.
    • От notricky
      Не нашел тега TPopup. Напишу тут.
      Ситуация в следующем. Я использую TPopup + TCalloutPanel для хинтов (подсказок). С анимацией FadeIn FadeOut.
      Все вроде просто.
      На основной форме есть стандартная проверка FormKeyDown
      if Key in [vkHardwareBack] then begin TPlatformServices.Current.SupportsPlatformService(IFMXVirtualKeyboardService, IInterface(FService)); if (FService <> nil) and (TVirtualKeyboardState.Visible in FService.VirtualKeyBoardState) then begin DebugLog('KeyboardOnBackButton'); end else begin Key := 0; if ItemLayout.Visible then begin DebugLog('ItemLayoutBackButton'); btCancelClick(btCancel); end else begin DebugLog('MainLayoutBackButton'); MessageDlg('Are you sure to exit now?', TMsgDlgType.mtConfirmation, [TMsgDlgBtn.mbOK, TMsgDlgBtn.mbCancel], -1, procedure (const AResult: TModalResult) begin if AResult = mrOk then begin DebugLog('CloseOnBackButton'); Close; end; end); end; end; end В общем ничего сверхестественного.
      Затем, когда появляется хинт:
      procedure TFParent.ShowHint(AControl: TControl; AText: string; ATitle: string=''; Duration: single = 3; ImageIndex: integer = -1); begin DebugLog('ShowHint'); lbHint.Text := AText; puHint.PlacementTarget := AControl; faHintFadeOut.Delay := Duration; puHint.IsOpen := true; ivHint.Visible := ImageIndex <> -1; lbHintTitle.Text := ATitle; lbHintTitle.Visible := ATitle <> ''; end; все тоже хорошо. Однако, когда я нажимаю кнопку назад - сначала пропадает хинт. А если я нажимаю снова кнопку назад, то вообще говоря я жду два варианта:
      ItemLayout переходит в MainLayout Программа запрашивает выход MessageDlg Но на деле приложение просто закрывается. При чем без ошибок.
      Что с этим можно сделать?
    • От Alexey Shumkin
      Для работы с USB-устройствами (на девайсах с USB-хостом) нужно использовать BroadcastReceiver.
      Нашёл пример работы с ними (https://github.com/freeonterminate/delphi/tree/master/BroadcastReceiver). 
      Проверял на XE10. Долго мучался с проверкой, пока не выяснилось, что под XE7 работает, а под XE10 - нет.
      Выдаёт ошибку "Interface not supported" в момент создания JFMXBroadcastReceiver (или около того, точно непонятно).
      Для демонстрации я создал отдельный простой проект - https://github.com/ashumkin/Delphi-Android-BroadcastSample.
      В XE7 он работает (при нажатии на кнопку Register вешается слушатель, который ловит и выводит в лог (см. adb logcat) события включения/выключения экрана). А в XE10 - выдаёт вышеупомянутую ошибку "Interface not supported".
      В логах есть строки
      W/dalvikvm(31735): dvmFindClassByName rejecting 'com/embarcadero/firemonkey/broadcast/FMXBroadcastReceiverListener'
      W/dalvikvm(31735): dvmFindClassByName rejecting 'com/embarcadero/firemonkey/broadcast/FMXBroadcastReceiver'
      (но они есть и при запуске приложения, собранного в XE7)
      Пробовал по-разному: и удалял AndroidManifest.template.xml от XE7, и пересоздавал .dproj в XE10, - пофик.
      В чём засада?
    • От Fabiano da Silva
      как создать чат между людьми
      Android Делфи? может кто-нибудь помочь?
    • От Ra72
      Уважаемые эксперты!
      Хочу написать свой редактор стилей для мобильных платформ.
      Для полного счастья не хватает знаний каким образом из TStyleBook.Style выгрузить его изменения в TStyleBook.Resource для последующего сохранения в файл.
       
    • От sviat9440
      Всем привет! Давно с вами не виделись)) Вот такая проблема есть: У меня Виндовс 10, и все корректно отображается. Я имею в виду стили. У меня на данный момент нет возможности протестировать приложение на Виндовс 7, но прилагаю скрины (Как должно/Как отображается). Вопрос: Проблема у меня? Или на стороне FireMonkey?
       
      Попутный вопрос: Если на стороне FireMonkey, то как узнать версию ОС, чтобы при запуске на вин7, сообщать пользователю что то типа "Твоя ОС не поддерживается"?
       
      Дополнительная информация: Используется Delphi XE 10 Seattle.


    • От estra

      Как в редакторе стиля поменять Z-последовательность элементов. Вариант с сохранением в текстовый файл, его правкой и последующей загрузкой хоть и работает, но крайне не удобен, особенно если элементов в стиле много.
       
      P.S.
      Есть подозрение, что у разработчиков есть другой, более удобный редактор, ибо стандартный не очень удобен. Разработчики, может поделитесь с общественностью?
    • От Ra72
      Следующий код не работает на Android. На Win32 в FBinary записывается примерно 100 килобайт, а на Android - 36 байт.
      FBinary := TMemoryStream.Create; TStyleStreaming.SaveToStream(AStyleBook.Style, FBinary, TStyleFormat.Binary);
  • Последние посетители   0 пользователей онлайн

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