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

krapotkin

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

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

  • Посещение

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

    209

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

  1. тут проще один раз попробовать чем 10 раз объяснить возьмите каждый Layout и накидайте туда например кнопок после этого поизменяйте размер layout там все очевидно
  2. krapotkin

    Поиск сервера

    Там как раз примерно так все и делается )
  3. я воспользовался способом "в лоб" в уже готовом приложении все, что нужно переводить, в коде заполнил через собственную функцию тем или иным значением ~25 форм - около 200-250 строк в словаре вся работа заняла около 2 дней. не так уж сложно, и точно все будет работать так как надо ))
  4. krapotkin

    Invalid APK file

    она еще пишет look in logcat открываем monitor.bat из папки Android SDK и смотрим логи
  5. ну и не надо забывать, что есть разрешение физическое, есть логическое мы то имеем доступ именно к логическому
  6. полного списка конечно нет но есть статистика разрешений http://myresolutionis.ru/page/smapage.php
  7. предполагаю, что строка из делфи уходит в юникоде. хотя за инди не скажу точно. используйте THttpClient для определенности так что все преобразования - на стороне сервера
  8. думаю, листбокс не мертв, просто он предназначен для максимум - менюшку нарисовать
  9. krapotkin

    Иконки в ListView

    у элементов здесь - фиксированный размер и это имхо проблема, когда мы говорим о поддержке разных разрешений экрана если строки короткие, и влезают даже на маленький экран, проблем нет
  10. krapotkin

    Иконки в ListView

    в данном случае Dynamic очевидно решает вашу проблему. не решает только подстройку под ширину девайса конструирование же в коде каждого из элементов - 5-10 строк кода. итого 25-50 строк. не так уж и много, имхо
  11. гугл delphi fmx listview в первой же странице http://delphi2010.ru/tlistview/
  12. в качестве сервера можете использовать любой стартово-бесплатный сторонний сервер типа scorocode.ru или подобных
  13. вооот поэтому надо, чтобы из очереди сообщений они ушли... у вас логическая ошибка на слове "пауза". не стоит в обработчике делать паузу вообще. запустили таймер или поток, и вышли. все остальные клики не сработают, пока кнопка задизаблена, но события обработаются штатно потом таймер или поток вернет ее в enabled и все будет работать без всяких пауз вот то, что вам нужно (uses system.treading) procedure TForm1.b1Click(Sender: TObject); begin b1.Enabled := false; m1.Lines.Add('test'); TTask.Run( procedure begin sleep(2000); TThread.Synchronize(nil, procedure begin b1.Enabled := True; end); end); end;
  14. и да, я не понял, что должно быть по-вашему в коде procedure TForm1.b1Click(Sender: TObject); begin b1.Enabled := false; m1.Lines.Add('test'); Sleep(1000); b1.Enabled := true; end; ? натыкал 5 раз. получил через пять секунд пять строчек test. потому что просто не успевает отображаться каждая очередная строка, т.к. вызывается вновь обработчик что не так ?
  15. никто вообще не знает, что такое "код по смене карты" и зачем ждать 2 секунды в обработчике кнопки поток предложен потому что предполагается, что это какая-то времязатратная операция вообще же рассуждаем логически натыкав по кнопке, мы получаем несколько событий в очереди сообщений ваш обработчик первого клика УЖЕ вызван из метода ProcessMessages, внутри него вызов опять ProcessMessages, который опять вызовет обработчик если повезет, то второго клика и так по кругу.... поэтому не надо делать обработку сообщений в обработчике сообщений...
  16. везде, где вижу Application.ProcessMessages; сразу вспоминаю бессмертное: - у вас на стройке несчастные случаи были? - нет - будут... хорошим решением будет сделать Button.Enabled := False и после этого запустить поток, который 1. делает все что там вам нужно 2. при окончании работы разблокирует кнопку 3** Можно также запустить антизависательный таймер, который, если от потока не приходит вестей N секунд, прибивает поток и разблокирует кнопку
  17. если вы на этом форуме, то, скорее всего, выход проще - нужно отказаться от TidHTTP и использовать THttpClient, встроенный в delphi
  18. думаю, вы упускаете этот момент http://docwiki.embarcadero.com/RADStudio/Seattle/en/Zero-based_strings_(Delphi) в андроид индексы в строках идут с 0, на десктопе - с 1 и, насколько я помню, все движется в сторону immutable strings, когда нельзя будет заменить конкретный символ в строке кроме как составлением новой строки так что приводите свой алгоритм в соответствие с этими вводными
  19. правильное решение, конечно, с фреймами. не забудьте, что их нужно создавать отдельно, вручную, в нужный момент
  20. все правильно. деинсталляция очищает собственные данные программы
  21. у меня еще хитрее ) могу сейчас чуть-чуть приврать, давно ваял, но общий смысл... сделан поток, который стартует в FormShow, все проверяет, и возвращает все результаты проверок соответственно, в OnThreadTerminate стартует ShowModal формы логина но в большинстве мест все-таки загрузки профиля и т.п. идут в главном потоке под диалогом из fgx ...
  22. тут все непросто если нет связи например, или еще какая-то совсем беда, остаемся на первой если не залогинены, загружаю форму логина если залогинены - одну из двух "главных" (по смыслу, не по делфи) форм приложения при этом на каждой из форм есть и фреймы и всякая другая беда
  23. главное - главную форму делать из трех компонентов - бэкграунд, лого и кнопка Начать тогда все будет очень хорошо и быстро
  24. в TTask будет то же что в TThread только в модном спагетти-стиле ))
×
×
  • Создать...