Akad
Пользователи-
Постов
152 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Весь контент Akad
-
Я за ~полгода поправил кучу ошибок разработчиков FMX, многие из которых, кстати, до сих пор в основной поставке остались. Это были как просто глюки с отрисовкой/перерисовкой, так и утечки памяти и AV из-за того, что долбики сначала убивали что-то а потом из другого места с нему лезли. Качество кода говорит о том, что его писали программисты, получавшие за свою работу в пределах $500-800. Т.е. кого эмба за 3 копейки нашла, того и наняла. Ну они на 3 копейки и нарабатывали, так что тут всё чётко, ни каких претензий. Надо было сразу внимательно код смотреть. В Борланде были высококлассные спецы, я к этому привык... Ну даладно. Затем впёрся в AV после закрытия формы с браузером. Даже здесь просил помощи, но ни кто ничего не подсказал. Так как программа является частью CRM по доставке еды, и браузер с картой - это очень важная её часть, все было переписано на VCL. Использование FMX было заложено что бы сделать ещё 5 приложений на единой кодовой базе под андроид/яос. Но после первого из них стало понятно, что FMX очень тяжёлый, и на целевых телефонах - телефонах наших курьеров банально нет под это приложение столько памяти. Поэтому эти проекты были свёрнуты после первых испытаний. Надеюсь донёс свою точку зрения. И кто-нибудь прочитав этот пост не совершит мою ошибку, и обойдёт FMX стороною. Повторюсь VCL стабильна. Но её писала не Эмба.Да и стандартных компонент из поставки думаю ни только мы, а вообще ни кто не использует. Практически всегда есть бесплатный и более качественный аналог.
-
FMX так и умер не влетев. В 10.3 ещё больше проблем, чем в 10.2, в 10.2 чем в 10.1.Хотя и 10.1 не возможно было использовать в продакшене. Ждём сейчас FGX. Уж очень интересно попробовать единую кодовую базу с VCL иметь, и что бы это в продакшене могло работать. Хотя с учётом того, что бетку обещали ещё в начале осени, а до сих пор идёт закрытое тестирование, то по ходу шансов заполучить что-то рабочее в ближайшее время не много.
-
Во-первых запускать из-под винды программыв надо через CreateProcess, а не ShellExecute. Во вторых зачем label? У него даже hwnd нет. Проще создавать mutex. Он живёт пока живо приложение. Соответственно если создать не получилось, значит его создал кто-то другой.
-
Скажу даже более: Postgre+Свой сервер написанный на 10.2+Firemonkey (win/android) проработал в продакшене 5 мес. Сейчас планируем переписывать на Go+VCL. А андроид часть скорее всего на ейной студии, но наблюдаем за FGX. Нагрузку серверные сокеты держат плохо. А клиенты отвратительно работают на зоопарке железа. Причём проблема даже под win отобразить на некоторых ноутбуках интерфейс. Так что ждём FGX native. Firemonkey в продакшене вещь не рабочая ни на одной из поддерживаемых OS.
-
См. выше. Я всё описал.
-
MouseUp контролла естественно не будет. И я не о нём, а о форме.
-
Имхо правильнее всего отслеживать перемещения "мышки" по форме, и выставляя предварительно флажок, что сейчас таскается этот бар. Под винду выходил в своё время из положения именно так. Под андроид не уверен как ходят события - думаю примерно так же.
-
Как бы это по мягче сказать.... он (почти) работает. На андроиде работает (хоть как-то) только он, на винде глюков в несколько раз меньше стокового. Я про российский компонент. TRichView. Даже бэкап сайта на его основе делал. Честно скажу - 700к в него не пихал, но порядка 80-100к - живал без проблем.
-
Обработка ява-скрипт команды занимает некоторое время и происходит асинхронно. Поэтому если сразу сделать репаинт - ничего не изменится. P.S. Что за ОС? Как ведёт себя браузер от TMS? Вообще если статический html и якоря, то на дельфе лучше richedit какой-нибудь сторонний использовать... Ну это так, к слову.
-
Мммм... Поспорим? Значит цикл выполняется. Просто у Rad Studio не все "ходы на мобильных платформах записаны". По крайней мере на 10.2 встречал, что крусор отладчика или прыгает взад-вперед, или пропускает небольшие блоки. Он есть в коде, рядом с циклом. Его длинна - это параметр цикла. Как может не иметь к нему отношения - для меня загадка. Это реально или ваша фантазия? Стоит это значение смотреть в какой-то отдельной переменной. Цикловые переменные шанс корректно увидеть - это 1/2 или 2/3.
-
Что такое CartList? Зачем High использовать (от слова вообще)? Что такое rz? Если for 0 to 0, то 1 раз цикл выполнится. P.S. Почему бы на форумах не перестать считать всех телепатами?
-
2 камня преткновения:synchronize - глючито что пц на 10.х и webbrowser так же падает с вероятностью ~1/3 при form.free на тех же самых версиях. Поэтому что платно, что бесплатно - один хрен не работает. Имхо. У дельфи есть будущее, если сменятся продакт менеджеры. На кого-то, кто разбирается в проблеме. Слишком много развилось хомячков, кто начитается хабра и ко и мнит себя мега-умным-гением.
-
Запомнить фокус, показать форму, вернуть фокус?
-
Ни где это не указано. Не надо. Тема в общем форуме, ни в названии, ни в теле поста этого нет. Не умеешь задавать вопросы, не надо тра-ля-ля разводить. Не ко мне вопрос, а к разработчикам ОС. Если у тебя не правильно организована работа твоей поделки, то ни кто кроме тебя в этом не виноват. Не хочешь помощи - что ты вообще на форуме забыл? Иди на какую-нибудь помойку типа хабра, описывай там как надо софт писать.
-
Есть смысл переходить с 10.2.2 на 10.2.3? Народ тут писал, что студия вылетать стала на ровном месте. А судя по чейнж логу ни одного серьёзного бага поправлено не было. Во-первых интервал в 1мс для таймера не достижим без специальной настройки ОС. Реально события будут приходить 10-23мс. И это при условии, что программа больше ничего не делает. Это не зависит от дельфи, а зависит от винды. Во-вторых "накладные расходы" таймера при таком обновлении - это основная статья расходов процессора. И вообще так писать - это просто жесть. Любая анимация - это 1000/60мс т.е. частота обновления среднестатистического монитора. И то лучше 1000/30 или 1000/25. Меньше плавности на чуть, зато будет реально работать. Если нужна не анимация, а рассчёт чего-то - это надо выносить в отдельный поток. Если речь идёт про андроид/яось, то кроме нескольких деталей в целом ситуация не меняется. Писать так нельзя.
-
Сохранил все (с). Не соберётся с ходу, так как тянет LACore.Log. Можно убрать полностью или заменить на своё. LACore.XML.pas.zip
-
record можно сохранять в файл через blockwrite, если там только атомарные элементы. String имеет сложную структуру, и этот фокус не прокатит. Так что либо сериализовать/десериализовать структуру через RTTI и потом сохранить в бинарный/XML... файл, или ручками в базу/ini/StringList... в общем в более высокоуровневую запись.
-
Можно по подробнее, что за проблемы? В руках 2 телефона на 6 и 1 на 7.1 - ни где у меня с клиентом проблем нет.
-
Если использовать структурированный xml, то да, проблем не будет. Но если на каждом уровне вложений вообще не знаешь что там есть, но надо пробежаться по всем нодам, и собрать определённую информацию, то начинается просто АД. У меня парсер, позаимствованный и чуть допиленный у Light Alloy - вот это вещь. Всё быстро, чётко, не единого эксепшена, поиск через SameText, и прочие вкусняшки. На вкус и цвет фломастеры разные.
-
Ээээ...Что бы избавиться - должна быть альтернатива. Для сети в дельфи есть только комплект инди компонент. Они нормально работают с шифрованием и парой десятков протоколов. Альтернатив им нет ни стандартных, ни альтернативных. Или я что-то пропустил? THTTPClient/THTTPServer - это даже не смешно. Особенно последний - который половину соединений пропускает при хоть какой-то нагрузке. Клиенту после этих фокусов сервера доверия нет. И смысл только его использовать, даже если он работает болемешно, если есть инди с единой архитектурой и базовыми структурами данных? Где тебе сразу и tcp и udp и smtp и так далее? И всё в едином стиле Ни кого не хотел обидеть. Я тоже процентов на 40 дельфи программист. Последний мой проект (пока) на дельфи целиком. А это сервер и клиенты под разными ОС. Но достаточно зайти на любой ресурс где "тусят крутые, всезнающие хомячки" типа хабра, и послушать их мнение про Delphi в целом, и программистов, которые пишут на этом языке в частности. При всём идиотизме их заявлений, рациональное зерно там можно проследить. И если весь мир делает в архитектуре приложений определённые паттерны, то наверно не спроста, и незачем делать по другому.
-
TIdHTTP - попробуйте асинхронно что-то сделать. Только в потоке. Все другие indy - тоже самое. Остаются всякие страшные TcpClient1 которые из версии в версию то работаю то не работаю. Причём http - ручками. Ещё то удавольствие. Сейчас под всеми платформами, что мне известны продвигается синхронный метод+callback. Что диез под виндой, что RxJava/Retrofit под андроид и т.д. Если используете что-то не традиционное - ни каких проблем. Но зачем это советовать другим? Поддерживать стереотип, что программист дельфи - быдлокодер-неформал?
-
Ждём лета(?) и закрытого тестирования. И потом будем посмотреть. Сейчас как я понял говорить о чём-то совсем рано.