• 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...

 

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

Dai12lDymn1 понравилось это

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


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

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. В этом случае у вас есть возможность перемещать компоненты в стиле.

Kitty понравилось это

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


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

Добрый день,

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

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

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


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

День добрый.

 

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

 

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

Изменено пользователем osvirt
kratos23 понравилось это

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


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

Создайте аккаунт или войдите для комментирования

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

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!


Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.


Войти сейчас

  • Похожие публикации

    • Автор: 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);
    • Автор: Ra72
      Уважаемые эксперты!
      Подскажите, как сохранить StyleBook в текстовом формате *.style динамически (во время исполнения программы) ? Например:
      object TLayout Align = alClient Height = 715.000000000000000000 Position.Y = 33.000000000000000000 Width = 1162.000000000000000000 object TSwitchObject StyleName = 'switchstyle' ...
  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу