-
Постов
137 -
Зарегистрирован
-
Посещение
-
Победитель дней
2
Весь контент mrseagull
-
Может в дизайнере для Android устройства стоит без картинки
-
Может что с форматом изображения?
-
Появилась задача сделать некое приложение с оповещениями. Суть в том, что человек будет отдавать на аутсорсинг задачу и в реальном времени может получать оповещения о статусе выполнения и вообще прочую информацию. Ознакомился с темами Push уведомлений нa Android и iOS. Как понял компонент TNotificationCenter способен отправлять уведомления только при запущенном приложении. Потом наткнулся на тему сервер для рассылки Push на Android и iOS, неужели это единственный способ сделать уведомления из приложения когда оно не запущенно.
-
Код обычный для такого плана работы с POST запросами TMemoryStream *fs = new TMemoryStream(); TStringStream *SS = new TStringStream(L"", TEncoding::UTF8, false); TStringList *s = new TStringList; s->Clear(); s->Add("login=" + fm->EditLogin->Text); s->Add("password=" + fm->EditPass->Text); s->Add("apikey=6IY4XWfiP6I4NgPGg"); fm->IdHTTP1->HandleRedirects = true; fm->IdHTTP1->Post(L"http://xxxxxx.ru/api", s, SS); Но если это дело в сервере, то тогда видимо все сложнее. Надо понять почему сервер себя так ведет
-
Программа работает c сайтом используя POST запросы на xxxx.com/api сайта. Использую idHTTP, все усложнено тем что иногда происходит вызовы в потоке, не знаю на сколько это влияет на стабильность idHTTP, но все же. Все работает работает, но при частых запросах перестает это делать адекватно и возвращает ошибки типа "EIdHTTPProtocolException with message 'HTTP/1.1 500 Internal Server Error'" Захотел перейти на что-то еще, прочитал о HTTPClient, но не нашел мануалов. Программа уже большая и хотелось бы безболезненно перейти на HTTPClient. Если кто работал, можете показать основы POST запросов и работы с этим компонентом, а то сил уже нет с idHTTP мучатся
-
У IdHTTP есть события WorkBegin, WorkEnd, Work; void __fastcall Tfm::IdHTTP1WorkBegin(TObject *ASender, TWorkMode AWorkMode, __int64 AWorkCountMax) { fm->pbWait->Max = AWorkCountMax; } //--------------------------------------------------------------------------- void __fastcall Tfm::IdHTTP1WorkEnd(TObject *ASender, TWorkMode AWorkMode) { fm->pbWait->Value = 0; } //--------------------------------------------------------------------------- void __fastcall Tfm::IdHTTP1Work(TObject *ASender, TWorkMode AWorkMode, __int64 AWorkCount) { fm->pbWait->Value = AWorkCount; } //-------
-
Во время выполнения иногда происходит загрузка файлов с сервера. Все бы ничего файлы по 20кб просто грузил в потоке и для пользователя это была секунда ожидания. Но встала задача загружать файлы до 4Mb и здесь нужно как-то отобразить процесс. fm->IdHTTP1->Post(L"http:/xxxxxxx.ru/api", s, fs); fs->SaveToFile(dirway + "tmp");
-
Разбирал код потока, нашел костыльный момент, когда поток обращается и проходит по вектору который принадлежит главному потоку и обращается к переменны на главном потоке. Так понимаю дело в этом, хотя не факт конечно. исправлю отпишусь, что будет.
-
В программе есть поток счетчик, который состоит из бесконечного цикла со Sleep(n); Каждый раз увеличивая таймер на +1. При каждом увеличении проверяет массив в котором есть "время - действие" и если такое время есть то выполняется действие. Когда в программе появляется этот поток нагрузка на ЦП растет, отключаю его и все нормально. Спайдер показывает вот это. Может создавать поток по другому или каким либо образом можно оптимизировать эту задачу.
-
Удобная программа, http://dbg-spider.net/
-
Как это сделать? Никогда не слышал про это, видимо ввиду своих не глубоких познаний
-
Программа на FM сильно нагружает ЦП. Использую в ней поток который постоянно работает в фоне, может дело в нем. А так программа с обычным функционалом для работы с XML файлами, которые получает из интернета. Подскажите как можно уменьшить нагрузку на ЦП, уже всякими способами пытался оптимизировать код, но что-то никак. P.S Простите за глупый вопрос.
-
А так все хорошо начиналось