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

kami

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

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

  • Посещение

  • Победитель дней

    41

Активность репутации

  1. Like
    kami получил реакцию от Brovin Yaroslav в Аналог Post в FMX android   
    TThread.Queue(nil, procedure begin my_code end); ?
  2. Like
    kami отреагировална krapotkin в Ввод числа - самый простой способ фильтрации   
    вместо tagString можно использовать Model.Data, это более концептуально верно
  3. Like
    kami получил реакцию от Brovin Yaroslav в [SSL] Как получить содержимое страницы по HTTPS с помощью INDY?   
    Не работал с ВК.API, но судя по ответу - ваше приложение не считается авторизованным, и Indy с https тут ни при чем, т.к. 401 - ответ, полученный от сервера vk.com
  4. Like
    kami получил реакцию от Brovin Yaroslav в Отправка содержимого Edit на сервер   
    Кстати, если "приложение на компе" планируется запускать исключительно под Windows, я бы посоветовал остаться на VCL и задействовать mormot-фреймворк, он работает с http-драйвером Windows и я за все время его эксплуатации ни разу не встречал проблем (в отличие от Indy и ICS).
  5. Like
    kami получил реакцию от Brovin Yaroslav в Отправка содержимого Edit на сервер   
    В первую очередь определитесь, в каком виде сервер хочет получить содержимое вашего Edit. И хочет ли вообще.
    Есть как минимум два варианта отправки (по http(s)) - метод GET и метод POST.
     
    Anyway - до сервера должна быть возможность достучаться. В общем случае - сервер должен иметь белый статический IP. Если используется только локалка (пусть даже и с разными подсетями) - тут проще.
     
    Берете Indy, десктопное приложение будет выступать сервером (idHTTPServer), а мобильное приложение - клиентом (idHTTPClient). Клиент отправляет данные через idHTTPClient1.Get|Post, а сервер в событии приема данных ловит это и обрабатывает.
  6. Like
    kami получил реакцию от krapotkin в Отправка содержимого Edit на сервер   
    В первую очередь определитесь, в каком виде сервер хочет получить содержимое вашего Edit. И хочет ли вообще.
    Есть как минимум два варианта отправки (по http(s)) - метод GET и метод POST.
     
    Anyway - до сервера должна быть возможность достучаться. В общем случае - сервер должен иметь белый статический IP. Если используется только локалка (пусть даже и с разными подсетями) - тут проще.
     
    Берете Indy, десктопное приложение будет выступать сервером (idHTTPServer), а мобильное приложение - клиентом (idHTTPClient). Клиент отправляет данные через idHTTPClient1.Get|Post, а сервер в событии приема данных ловит это и обрабатывает.
  7. Like
    kami отреагировална Brovin Yaroslav в [TfgRichEdit]- компонент редактирования текста с поддержкой форматирования   
    В текущую версию добавлена поддержка:
    Нумерованные списки Ненумерованные списки Форматированный код. Пока только сохранение отступов в коде и применение моношрифта. В будущем планирую добавить систему плагинов расширяющих базовые элементы разметки для реализации подсветки кода. Добавлено прокручивание текста
  8. Like
    kami получил реакцию от Brovin Yaroslav в A component named ComponentName already exists.   
    xenon54, согласен. Но сам объект от этого никуда не денется - как минимум, его будет держать Parent.
    Кстати, только сейчас обратил внимание на "compiler translates.....". Весьма удивился, если честно. Я почему-то был уверен, что всё от TObject и выше (дженерики не в счет) реализовано именно кодом в .pas файлах
    procedure TObject.Free; begin // under ARC, this method isn't actually called since the compiler translates // the call to be a mere nil assignment to the instance variable, which then calls _InstClear {$IFNDEF AUTOREFCOUNT}   if Self <> nil then     Destroy; {$ENDIF} end;
  9. Like
    kami получил реакцию от Brovin Yaroslav в A component named ComponentName already exists.   
    Более того, она и меня ввела в заблуждение
    Я посмотрел (когда начинал работать с FMX) код Free, увидел, что при ARC он будет пустой и успокоился на этом. А комментарии всякие читать... не барское это дело Вот и попался...
  10. Like
    kami получил реакцию от Brovin Yaroslav в [TIdTCPClient] Почему TIdTCPClient зависает при общении с по IP в глобальной сети?   
    Это зависит не от индейцев и не от FireMonkey, а является общей проблемой сетевого обмена
     
    Ваш сервер спрятан за NAT, т.е. нет прямого соответствия между внешним IP и локальным. Поэтому клиент и не может достучаться до него "извне".
    Возможные варианты решения:
    сделать серверу белый IP (есть такая услуга у провайдеров, в т.ч. и мобильных) Сделать промежуточный сервер, который будет сидеть на белом IP, а исходный сервер и клиент будут подключаться к этому, таким образом они оба будут клиентами. Если доступен роутер, через который сервер "смотрит" в интернет - можно пробросить на этом роутере порт извне напрямую на локальный ip сервера. Да, в качестве примеров работы "за NAT" вы можете привести Skype, TeamViewer, Ammyy и т.п. Но они все используют метод 2.
    Еще есть вариант (кажется, не помню точно, давно этим не занимался) - DynDNS.
  11. Like
    kami получил реакцию от Равиль Зарипов (ZuBy) в Передвижение rectangle на видимую область   
    В озвученном вами примере ScrollableForm в том числе получается высота виртуальной клавиатуры в методе FormVirtualKeyboardShown
  12. Like
    kami получил реакцию от Brovin Yaroslav в Передвижение rectangle на видимую область   
    В озвученном вами примере ScrollableForm в том числе получается высота виртуальной клавиатуры в методе FormVirtualKeyboardShown
  13. Like
    kami отреагировална Кривяков Виталий в TUITabControl   
    Добрый день!
     
    В теме про наш продукт http://fire-monkey.ru/topic/1519-1c-papyc-mobilnoe-prilozhenie-dlia-masterov-priemschiko/ меня просили поделиться исходным кодом компонента TabControl с поддержкой слайда табов пальцем. С удовольствием делюсь
    В составе архива сам компонент и пример его использования.
    FMXUI.zip
  14. Like
    kami получил реакцию от Brovin Yaroslav в Tethering Передача звука   
    TeamViewer, для справки, использует очень хорошие алгоритмы сжатия и передачи изображения/звука. Для последнего, думаю, используется что-то вроде надстройки над RTP.
     
    ... Я могу только повторить - afaik, Tethering не предназначен для передачи realtime-данных. Ожидание подтверждения каждого отправленного пакета станет бутылочным горлышком вашего приложения.
  15. Like
    kami получил реакцию от Brovin Yaroslav в Tethering Передача звука   
    Теоретически - да, возможно. Практически - нецелесообразно для передачи realtime потока задействовать компоненты, использующие протокол с подтверждением - у вас будут огромные задержки в воспроизведении и в конце концов приложение свалится из-за нехватки памяти. А может и не свалится, но приятного все равно будет мало.
  16. Like
    kami отреагировална Brovin Yaroslav в Удаление формы из back-стека   
    Это не будет работать. Так как форма FMX не имеет никакого отношения к активити. Поэтому этот аттрибут не поможет вам.
    Так же этот флаг используется, чтобы осуществить навигацуию между разными активити, а в не внутри одного.
  17. Like
    kami получил реакцию от krapotkin в Неблокирующий диалог в мобильном приложении   
    На всякий случай уточню:
    ShowModal(Callback) - это не всем привычный ShowModal, как его обычно понимают - внутри этого метода просто запоминается Callback и вызывается Show. А когда вы присвоите показанной форме какой-нибудь ModalResult, то будет вызыван Callback и форма закроется.
    Т.е. в действительности это Show/Close с доп. "фишками". Поэтому на такой вызов не распространяется ограничение из хелпа
  18. Like
    kami получил реакцию от Brovin Yaroslav в [TIdHTTP] Пример авторизации на каком-нибудь сервисе   
    Использование Indy в VCL и FMX ничем не отличается.
  19. Like
    kami получил реакцию от Brovin Yaroslav в Удаление формы из back-стека   
    Так удалите эту форму вообще.
    Судя по тому, что я накопал - у FMX свой механизм определения активной формы. Смотреть
    function TScreen.NextActiveForm
  20. Like
    kami получил реакцию от xenon54 в Неблокирующий диалог в мобильном приложении   
    myDialogForm.ShowModal(callbackProc)
  21. Like
    kami отреагировална Brovin Yaroslav в Шторка TMultiView залезает на Toolbar   
    По идеи если вы хотите, чтобы у вас тулбар распологался сверху относительно всего остального, то TMultiView и TargetControl должны лежат в отдельном контейнере. Например так:

    Потому что TMultiView в режиме Drawer распологается в ручную относительно своего родителя. На моем примере Drawer будет вытянут по высоте Layout1. Если же TMultiView лежит на форме, то он будет растягиваться по высоте формы.
  22. Like
    kami получил реакцию от zairkz в [iOSSimulator] TBitmap.Resize - иногда белый прямоугольник   
    Господа, спасибо за участие!
    zairkz, упростил и немного подправил ваш код, вот что получилось:
    procedure TSiteExchangerThread.RescalePhoto(const FileName: string); const   DefaultHeight = 300; var   Bitmap: TBitmap;   Thumb: TBitmap;   BSS: TBitmapCodecSaveParams;   xScale: Double;   newWidth, newHeight: integer; begin   Bitmap := TBitmap.Create;   try     try       Bitmap.LoadFromFile(FileName);       if Bitmap.Height <> DefaultHeight then         begin           xScale := Bitmap.Height / DefaultHeight;           newHeight := DefaultHeight;           newWidth := Round(Bitmap.Width / xScale);           Thumb := Bitmap.CreateThumbnail(newWidth, newHeight); // далее работаем с Thumb, а не с Bitmap           try             BSS.Quality := 90;             Thumb.SaveToFile(FileName, @BSS); // все менеджеры и surface не нужны, они есть внутри Save-метода           finally             Thumb.Free;           end;         end;     except       DeleteFile(FileName);       raise;     end;   finally     Bitmap.Free;   end; end; Кстати, весьма удивился, что результат получился нужный: TBitmap.Resize использует тот же самый CreateThumbnail. Единственное отличие - в Resize-методе используется Assign получившегося thumb-а в себя же. А вот в самом assign какие-то непонятные манипуляции со счетчиками ссылок FImage. Имхо, именно здесь и возникает проблема с белым прямоугольником, ибо все остальное - 1:1 уже используемое в методах TBitmap
  23. Like
    kami получил реакцию от antarey в Parallel Library на одно процессорных компах   
    не будет*. Планировщик потоков - штука очень умная.
    *При условии, что Ваш код не глючит сам по себе.
  24. Like
    kami получил реакцию от zairkz в Как скрыть MultiView на определенном табе или форме?   
    Ну, в качестве костыльного решения могу предложить менять MultiView.DrawerOptions.TouchAreaSize на 0.
    Это должно убрать появление MultiView при слайде пальцем от левого края экрана. А при активации другой закладки возвращать значение по умолчанию.
  25. Like
    kami отреагировална Brovin Yaroslav в Сообщения чата в виде сообщений в iphone.   
    Добрый день,
    Я бы взял TScrollBox для контейнера сообщений. Каждое сообщени представил в виде TLabel с вашим стилем в виде облаков TLabel поместил в TLayout и внутри него выравнивал бы по правому или левому краю. А сами TLayout выравнивал бы по верху.
×
×
  • Создать...