Akad
-
Постов
152 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Активность репутации
-
Akad получил реакцию от МихаилЪ чайковЪ в Тормозит выполнение таймера
Есть смысл переходить с 10.2.2 на 10.2.3? Народ тут писал, что студия вылетать стала на ровном месте. А судя по чейнж логу ни одного серьёзного бага поправлено не было.
Во-первых интервал в 1мс для таймера не достижим без специальной настройки ОС. Реально события будут приходить 10-23мс. И это при условии, что программа больше ничего не делает. Это не зависит от дельфи, а зависит от винды.
Во-вторых "накладные расходы" таймера при таком обновлении - это основная статья расходов процессора. И вообще так писать - это просто жесть. Любая анимация - это 1000/60мс т.е. частота обновления среднестатистического монитора. И то лучше 1000/30 или 1000/25. Меньше плавности на чуть, зато будет реально работать. Если нужна не анимация, а рассчёт чего-то - это надо выносить в отдельный поток.
Если речь идёт про андроид/яось, то кроме нескольких деталей в целом ситуация не меняется. Писать так нельзя.
-
Akad получил реакцию от krapotkin в OnClick срабатывает не всегда!
Имхо правильнее всего отслеживать перемещения "мышки" по форме, и выставляя предварительно флажок, что сейчас таскается этот бар. Под винду выходил в своё время из положения именно так. Под андроид не уверен как ходят события - думаю примерно так же.
-
Akad получил реакцию от Ingalime в Перейти на якорь уже загруженной страницы
Как бы это по мягче сказать.... он (почти) работает. На андроиде работает (хоть как-то) только он, на винде глюков в несколько раз меньше стокового.
Я про российский компонент. TRichView. Даже бэкап сайта на его основе делал. Честно скажу - 700к в него не пихал, но порядка 80-100к - живал без проблем.
-
Akad отреагировална Brovin Yaroslav в [Вебинар] FGX Native. Новейшая кроссплатформенная платформа для мобильной разработки на Delphi
Добрый вечер,
Я подумаю об альтернативном средстве распространения новостей. Здесь отпишусь, как определюсь. Скорее всего буду публиковать новости на данном форуме в специальном разделе.
-
Akad получил реакцию от Brovin Yaroslav в Странное поведение переменной integer
Что такое CartList? Зачем High использовать (от слова вообще)? Что такое rz? Если for 0 to 0, то 1 раз цикл выполнится.
P.S. Почему бы на форумах не перестать считать всех телепатами?
-
Akad отреагировална ENERGY в Что невозможно сделать на Delphi для Android?
Delphi хоронят уже лет 15, это все слова. Нет идеальных инструментов. У всех какие то косяки, втч и у нативных средств, ведь все это придумывают люди, люди не роботы.
На деле Delphi отличное средство для мультиплатформенной разработки вполне сложных программ. Мне как фрилансеру вполне хватает. Производительность гораздо лучше чем у Angular\Ionic, которые по факту WebView - веб в браузере - очень тормозное решение и подходит только для формочки "логин\пароль". Также по производительности и глюкам Delphi имхо лучше чем ReactJS, и Xamarin aka Mono.
Во фрилансе огромная конкуренция, в основном индусы, в этом плане с Delphi можно быстрее разработать ПО чем предлагают сроки остальные.
Проблема Делфай в том что оно дорогое, и не так распространено - (это взаимосвязанный фактор) - таким образом сложно найти команду и мало проектов на нем разрабатывается, меньше сообщество и меньше документации и библиотек с готовыми решения Поэтому для одиночек это больше подходит.
Но конечно нужно смотреть на развитие - вот Токио получилась очень сырым продуктом, я до сих пор на Берлине пишу под 4 платформы, если следующая версия выйдет такой же ультраглючной, то следует задуматься.
А вообще хороший программист - это тот кто знает несколько языков, не бойтесь учить новое - опыт ускорит разработку с любым инструментом.
-
Akad получил реакцию от Rusland в Что невозможно сделать на Delphi для Android?
Между версиями 10.2-10.2.2 прошло более полугода. Ни одного известного ДАЖЕ на форуме бага не поправлено. Динамики не вижу в упор. На следующей неделе у нас будет приниматься окончательное решение: скорее всего будем уходить с FMX на VCL обратно, причём на какую-нибудь XE2, там хоть текстовый редактор рабочий. Так как то, что сейчас получается - оно вообще не рабочее, а ждать устали. 10.2.3 скорее всего снова перенесут какие-нибудь кнопки в новое место, и ещё что-нибудь важное сломают, как в 10.2.2 не работающий в половине случаев ctrl+пробел и всё, главное денег заносите.
Ставишь 3-ю студию, выбираешь котлин (это +~50тыр к зарплате) и пишешь что-нибудь. За месяц основные фишки типа XML разметки и всех вьюшек изучишь. Ещё 2-3 недели - это Dagger2, Relam и MVP . После того можно спокойно пройти любое собеседование. Главное демо-проект(ы) придумать по интереснее.
-
Akad получил реакцию от Brovin Yaroslav в Тормозит выполнение таймера
Есть смысл переходить с 10.2.2 на 10.2.3? Народ тут писал, что студия вылетать стала на ровном месте. А судя по чейнж логу ни одного серьёзного бага поправлено не было.
Во-первых интервал в 1мс для таймера не достижим без специальной настройки ОС. Реально события будут приходить 10-23мс. И это при условии, что программа больше ничего не делает. Это не зависит от дельфи, а зависит от винды.
Во-вторых "накладные расходы" таймера при таком обновлении - это основная статья расходов процессора. И вообще так писать - это просто жесть. Любая анимация - это 1000/60мс т.е. частота обновления среднестатистического монитора. И то лучше 1000/30 или 1000/25. Меньше плавности на чуть, зато будет реально работать. Если нужна не анимация, а рассчёт чего-то - это надо выносить в отдельный поток.
Если речь идёт про андроид/яось, то кроме нескольких деталей в целом ситуация не меняется. Писать так нельзя.
-
Akad получил реакцию от ENERGY в Тормозит выполнение таймера
Есть смысл переходить с 10.2.2 на 10.2.3? Народ тут писал, что студия вылетать стала на ровном месте. А судя по чейнж логу ни одного серьёзного бага поправлено не было.
Во-первых интервал в 1мс для таймера не достижим без специальной настройки ОС. Реально события будут приходить 10-23мс. И это при условии, что программа больше ничего не делает. Это не зависит от дельфи, а зависит от винды.
Во-вторых "накладные расходы" таймера при таком обновлении - это основная статья расходов процессора. И вообще так писать - это просто жесть. Любая анимация - это 1000/60мс т.е. частота обновления среднестатистического монитора. И то лучше 1000/30 или 1000/25. Меньше плавности на чуть, зато будет реально работать. Если нужна не анимация, а рассчёт чего-то - это надо выносить в отдельный поток.
Если речь идёт про андроид/яось, то кроме нескольких деталей в целом ситуация не меняется. Писать так нельзя.
-
Akad получил реакцию от #WAMACO в Парсинг XML файла
Сохранил все (с). Не соберётся с ходу, так как тянет LACore.Log. Можно убрать полностью или заменить на своё.
LACore.XML.pas.zip
-
Akad отреагировална ENERGY в THTTPClient асинхронность
Значит вы не используете https. Поищите на форуме по словам Indy https (ssl) Android 6
http://fire-monkey.ru/topic/1922-android-60-не-удается-загрузить-ssl-библиотеку/
http://fire-monkey.ru/forum/368-ssl/
-
Akad получил реакцию от Dev в [Вебинар] FGX Native. Новейшая кроссплатформенная платформа для мобильной разработки на Delphi
А есть какие-нибудь демки? Главное, что бы хеловорд apk не весил 5-10Мб и не тормозил на старых аппаратах безбожно, как FMX. И что с сервисами под андроид?
-
Akad получил реакцию от Alex Bozhko в [Вебинар] FGX Native. Новейшая кроссплатформенная платформа для мобильной разработки на Delphi
А есть какие-нибудь демки? Главное, что бы хеловорд apk не весил 5-10Мб и не тормозил на старых аппаратах безбожно, как FMX. И что с сервисами под андроид?
-
Akad отреагировална RoschinSpb в RAD Studio 10.2.3 Когда и чего ждать?
Индусы в основном из незалежной... :o)
-
-
Akad получил реакцию от Dev в WebBrowser Печать
В HTML надо добавить что-то типа
<script type="text/javascript"> function Printt(){ window.print(); }; </script> И потом просто вызвать этот ява код.
TMSFMXWebBrowser1.ExecuteJavascript('Printt();'); Если страница грузится с интернета полностью, то естественно надо отредактировать её с учётом html синтаксиса. Так же стоит убрать весь мусор со страниц и повысить версию браузеру для лучшей совместимости:
a := TRegistry.Create; a.RootKey := HKEY_CURRENT_USER; a.OpenKey('Software\Microsoft\Internet Explorer\PageSetup',true); a.WriteString('footer',''); a.WriteString('header',''); a.CloseKey; a.OpenKey('Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION',true); a.WriteInteger('Client1.exe',$2af9); a.CloseKey; a.Free; Где Client1,exe - имя вашего exe.
P.S. И лучше использовать браузер от TMS, проблем под 10.2.х на порядок будет меньше.
-
Akad получил реакцию от Dev в WebBrowser Печать
Самое простое - вызвать ява скрипт с window.print();
-
Akad получил реакцию от kami в Application.ProcessMessages - плохой стиль?
Это примерно как забыть о том, как работает функция, что где править. Естественно забудет, а потом вспомнит, когда менять что-то будет в этом месте. Вдеть в начале процедуры прямо сразу cooltimer.Enabled := false; наведёт на мысли.
Всегда много путей. Какой-то определённо проще. Но я не пишу приложения, которые лагают, которые нажал на кнопку рутинного действия и сидишь, ждёшь результат. Более того моё текущее приложение (клиент-серверное, с огромными объёмами данных от БД) ввобще не лагает, даже на 3G модеме, на котором параллельно ещё качается торрент. То есть для меня важно, что бы пользователь мог работать нормально.
Единственное о чём я сожалею, что всё завязано на FMX. От него "прилетает" безумное количество мелких и не очень глюков, отсутствие работающих скинов и так далее. Но это уже к теме не относится... Я в текущий момент из интерфейса по скорости и удобству выжал уже почти максимум в том числе и из-за Application.ProcessMessages.
-
Akad получил реакцию от AngryOwl в Application.ProcessMessages - плохой стиль?
Так же плохой для многих стиль - goto, break и continue. А многим коллегам ума не хватает даже использовать free /release и глобальные переменные, для них созданы всякие диезы с явами. И дальше что? Подстраиваться под всех, не используя возможности полноценного языка?
Application.ProcessMessages надо просто использовать с осторожностью. Таймеры отключать, за нажатиями на закрытие форм и пр. следить. Если есть какое-то долгое вычисление, которое не предсказуемо через какое время закончится, а таблицу уже начали обновлять, то милое дело запустить его в другом потоке, параллельно в GUI проигрывая анимашку. Другие варианты реализаций - это очень сложно, и интерфейс получится не отзывчивым.
Splash с прогрессом надо делать только так, если максимальной скорости загрузки хотим. Вообще много областей применений есть у Application.ProcessMessages. Надо помнить об основных нюансах, иначе будут проблемы.
-
Akad получил реакцию от Alex7wrt в Application.ProcessMessages - плохой стиль?
Так же плохой для многих стиль - goto, break и continue. А многим коллегам ума не хватает даже использовать free /release и глобальные переменные, для них созданы всякие диезы с явами. И дальше что? Подстраиваться под всех, не используя возможности полноценного языка?
Application.ProcessMessages надо просто использовать с осторожностью. Таймеры отключать, за нажатиями на закрытие форм и пр. следить. Если есть какое-то долгое вычисление, которое не предсказуемо через какое время закончится, а таблицу уже начали обновлять, то милое дело запустить его в другом потоке, параллельно в GUI проигрывая анимашку. Другие варианты реализаций - это очень сложно, и интерфейс получится не отзывчивым.
Splash с прогрессом надо делать только так, если максимальной скорости загрузки хотим. Вообще много областей применений есть у Application.ProcessMessages. Надо помнить об основных нюансах, иначе будут проблемы.
-
Akad получил реакцию от DMS в List of new features and customer reported issues fixed in RAD Studio 10.2 Tokyo Release 3
Мда. Судя по списку ни одного реально важного исправления. Опять.
-
Akad получил реакцию от Ingalime в Навигация TmapView
Вот так я открываю яндекс навигатор:
var Intent: JIntent; pm: JPackageManager; tempList: JList; begin ..... Intent := TJIntent.Create; Intent.setAction (StringToJString('ru.yandex.yandexnavi.action.BUILD_ROUTE_ON_MAP')); Intent.setPackage(StringToJString('ru.yandex.yandexnavi')); pm := SharedActivity.getPackageManager; tempList := pm.queryIntentActivities(Intent, 0); // Проверяем, установлен ли Яндекс.Навигатор if (tempList = nil) or (tempList.SIZE = 0) then begin // Если нет - будем открывать страничку Навигатора в Google Play Intent := TJIntent.Create; Intent.setAction(TJIntent.JavaClass.ACTION_VIEW); Intent.setData(StrToJURI('market://details?id=ru.yandex.yandexnavi')); end else begin // intent.putExtra(StringToJString('lat_from'), g_CurrentLocation.la); // intent.putExtra(StringToJString('lon_from'), g_CurrentLocation.lo); Intent.putExtra(StringToJString('lat_to'), StringToJString(las)); Intent.putExtra(StringToJString('lon_to'), StringToJString(los)); // intent.putExtra(StringToJString('desc'), StringToJString(LOS)); end; SharedActivity.startActivity(Intent); end; Тут задаётся куда. Так же можно откуда и описание (комментировано)
Их нету. Есть возможность статично что-то отобразить. Не более.
-
Akad получил реакцию от МихаилЪ чайковЪ в Что невозможно сделать на Delphi для Android?
Вопрос не в том, что можно или не можно принципиально сделать, а в том на сколько это потом будет работать у пользователя. Так вот например в текущей версии (10.2.2) можно добиться, что установленное с помощью шнура и adb приложение будет работать стабильно. Но потом берём удаляем это приложение через диспетчер, ставим этот же apk и получаем крэш на старте в дебрях fmx. Очищаем данные с помощью кнопки в диспетчере приложений, и прога (о чудо!) работает без сбоев. Вот подобные проблемы сводят на нет все старания. Когда у вас на отладочных телефонах всё работает нормально, а в плей марките вам единицы ставят да ещё и в отзывах ругают.
-
Akad получил реакцию от Ingalime в Что невозможно сделать на Delphi для Android?
TMS Web Browser под андроидом по крайней мере закрывается вместе с окном, на котором он расположен. И кучи других проблем отсутствует. Может и контроллы поверх класть можно (не проверял, надобности не было). Но как навигацию использовать реально. У меня курьеры ездили.
-
Akad получил реакцию от Sergionn в Что невозможно сделать на Delphi для Android?
Между версиями 10.2-10.2.2 прошло более полугода. Ни одного известного ДАЖЕ на форуме бага не поправлено. Динамики не вижу в упор. На следующей неделе у нас будет приниматься окончательное решение: скорее всего будем уходить с FMX на VCL обратно, причём на какую-нибудь XE2, там хоть текстовый редактор рабочий. Так как то, что сейчас получается - оно вообще не рабочее, а ждать устали. 10.2.3 скорее всего снова перенесут какие-нибудь кнопки в новое место, и ещё что-нибудь важное сломают, как в 10.2.2 не работающий в половине случаев ctrl+пробел и всё, главное денег заносите.
Ставишь 3-ю студию, выбираешь котлин (это +~50тыр к зарплате) и пишешь что-нибудь. За месяц основные фишки типа XML разметки и всех вьюшек изучишь. Ещё 2-3 недели - это Dagger2, Relam и MVP . После того можно спокойно пройти любое собеседование. Главное демо-проект(ы) придумать по интереснее.