Перейти к содержанию
Fire Monkey от А до Я

notricky

Пользователи
  • Постов

    86
  • Зарегистрирован

  • Посещение

Весь контент notricky

  1. -- 2457390.09 - допустим такое значение в таблице с колонкой yourRealColumn SELECT datetime(yourRealColumn) as yourColumnNameForDatetime, date(yourRealColumn) as yourColumnNameForDate, time(yourRealColumn) as yourColumnNameForTime FROM YourTable Соответственно опишите подключаемую колонку, например "yourColumNameForDate" как соответствующий тип данных - date и все должно заработать.
  2. Суть вопроса в заголовке. Есть ли какие-то настройки у базы или FireDAC чтобы в английской системе (винда 7) русский текст отображался не вопросами, а русским текстом? Настройки у БД UTF-8.
  3. 1) False. С этим же значением ФайрДАК ругается, если изменять поле, которое есть в запросе, но отсутствует в целевой таблице. Вот вроде как бы кажется что всё делает, но апдейта не дает 2) В неявном виде.
  4. Собственно как это делают люди? Речь, конечно, не про выполнение скрипта "update table set...", а про использование Edit/Post с изменением как в Датасете, так и в БД. Какие нужны настройки, в частности у TFDQuery. // настройки qr.UpdateOptions = [KeyFields = id][UpdateChangedFields = true] // при этом селект не смотрит напрямую в theTable, но id - это поле theTable qr2.UpdateOptions.UpdateTableName := 'theTable'; qr2.Edit; qr2.FieldByName('Str').Value := Format('%s-%d',[qr2.FieldByName('Str').AsString, Code]); qr2.Post; В такой форме позволяет менять датасет, но в БД данные не скидываются. БД SQLite.
  5. Больше нет никаких идей касательно синтаксической ошибки разбора пакета?
  6. У меня сразу и мак и мобилка и вин. Пример понятный и это первое что приходит в голову но нужно не это, т.к. интерфейс чуть более сложный. Я вот так сделал с помощью Layout. Приходится немного извращаться в смысле позиционирования относительно кликабельных элементов. Чего бы не пришлось делать с Popup/
  7. В общем надо полагать что никак и придется извращаться с Layout.
  8. Есть ли способ использовать Попап, при этом внутри него вводить текст? В данный момент Edit не получает фокус, не видна каретка, не вводится текст, попап рандомно может закрыться.
  9. Эм... допустим про кейстор я вообще ничего не знаю. В дебаге нет настроек вообще никаких. Ну и прикол в том, что дебаг версия ставится же как-то на телефон при компиляции из дельфи, но вот сам апк-файл нивкакую.
  10. При компиляции из среды - все хорошо. Приложение запускается. При попытке скопировать из папки Android\Debug\{AppName}\Bin\{AppName}.apk и запустить сначала задается вопрос "установить"?, а потом ошибка "Синтаксическая ошибка - при синтаксическом анализе пакета возникла ошибка". Как-то было, правда, что все проходило без ошибок. Куда смотреть?
  11. Пока что решение такое: перед хайдом формы найти и активировать следующую активную форму (ту, вероятно, что под оверлеем) Screen.NextActiveForm(OverlayForm).Activate; Внутри синхрониза естественно.
  12. Еще один странный баг, если кому интересно и кто знает что то про это. После того как форма показалась-скрылась, элементы на нижележащей форме перестают быть откликабельными. Например Едиты не получают фокус. Точнее получают, но нет ни каретки, ни клавиатуры на андроиде.
  13. Не работает со второй половины вчерашнего дня
  14. notricky

    Нет доступа к сайту

    Напрямую нет доступа к сайту. ТОлько через анонимайзеры. Провайдер onlime. tracert начинает тупить на 9 шаге после 94.124.181.242. Провайдер говорит, что это не с их оборудованием проблема. Может менялись какие-то настройки?
  15. Все оказалось куда хуже. И сообщения работают, и синхронайз, только вот проблема была в BorderStyle. Почитайте два сообщения назад. И вот это возможно репорт для QC, если у кого-то еще такая же ситуация на новых дельфях возникает. Но пока никто не отписался.
  16. А знаете что я вам скажу?? А вот угадайте, в чем была на самом деле проблема??? А проблема была как всегда у Эмбаркадеро неявная, а именно в том, что BorderStyle = bsNone не дружит с вызовами вооообще. Ниоткуда. И вызывает вышеобозначенную ошибку в любом из возможных вариантов. И треды тут вообще не при чем. Ну то есть вот совсем не при чем. То есть если правильно задать BorderStyle, то вполне можно обойтись на Android оборачиванием вызовов Show/Hide TThread.Queue(...) Часы.... просто часы тестов убиты на такой маразм. Друзья, коллеги, если у вас есть последняя версия FMX, пожалуйста, протестируйте этот вариант с Бордером на андроиде. И отпишитесь здесь. И если это баг, то может быть стоит репортнуть. Для теста нужно две формы, одна из которых обычная, вторая borderStyle=None и вызывается кнопкой из первой формы. Обе создаются обычным способом при инициализации приложения. Upd2: Еще одно замечание. Если выставлено bsNone, но при этом FullScreen = True, то другие формы открываются обычным Form.Show ровно до того момента, как было обращение на показ формы с bsNone и FullScreen = True. После этого последняя показывается, а вот все прочие формы, открывающиеся по кнопке обычным образом уже идут с ошибками CalledFromWrongThreadException: Only the o....
  17. Собственно вопрос, можно ли вызывать АктивитиДиалог из рабочего потока в андроид или это будет приводить к ошибкам?
  18. Я наткнулся на такую тему: Оконные сообщения в FireMonkey Правда про потоки там ни слова... Зато в коментах Ярослав Бровин присутствует
  19. Глупость какая-то. Всмысле реализация - теряется весь смысл сообщений, в особенности если это сообщения на отрисовку. А где-то про это вообще написано?
  20. Зачем читать тему целиком, когда можно просто в белом выйти. Ну ладно, не прочитали. Бывает. Ответите тогда на вопрос - почему возникает поднятая проблема (да, для этого надо тему почитать) в случае с посылом сообщений классу формы из потока?
  21. Ну то есть когда я в рабочем потоке делаю так: var Form1: TForm1; MsgSender: TMessageSender; procedure TWorkThread.ShowOverlay; var V: Tvalue; begin V := Tvalue.From(Form1.RectSelf); MsgSender.Receiver := TFOverlay.This; MsgSender.SendMessageWithResult(PM_OVERLAY_SHOW, V); end; ... procedure TWorkThread.Execute; begin try ShowOverlay; Sleep(1000); HideOverlay; except on e: exception do MessageDlg(e.Message,TMsgDlgType.mtWarning, [TMsgDlgBtn.mbYes], 0, nil); end; Terminate; end; // OVERLAY .... type TFOverlay = class(TForm) procedure PMShow(var AMessage: TDispatchMessageWithValue<TRect>); message PM_OVERLAY_SHOW; ... end; implementation procedure TFOverlay.PMShow(var AMessage: TDispatchMessageWithValue<TRect>); begin FRect := AMessage.Value; This.Show; end; тем не менее я получаю ошибку CalledFromWrongThreadException: Only the original thread that created a view hierarcy can touch its views" На самом деле если внутри рабочего потока ShowOverlay обернуть в CallInUIThread то ошибки нет, но, как описал Ярослав, негарантированно. замкнутый круг. Хочу понять что не так и как вообще следует проектировать в ХЕ8 интерфейсы.
×
×
  • Создать...