Kitty

Пользователи
  • Публикаций

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

  • Посещение

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

    16

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

  1. Хорошо бы видео урок о покупке сертификата и сборке стенда для проекта Hello Word в iOS. Мне помог родственник, самой трудно было победить инструкции apple.
  2. Эта строка ни причем. Судя по ошибке, где-то ошибка в коде в синтаксе, например, пропущена где то точка с запятой ;
  3. #include <System.IniFiles.hpp> #include <System.IOUtils.hpp> #include <memory> //**** #ifdef __ANDROID__ String path = System::Ioutils::TPath::Combine(System::Ioutils::TPath::GetSharedDownloadsPath(), L"options.ini"); #elif _Windows String path = System::Ioutils::TPath::Combine(ExtractFilePath(ParamStr(0)), L"options.ini"); #endif if(FileExists(path)) { std::unique_ptr<TIniFile> FileINI(new TIniFile(path)); String ip = FileINI->ReadString(L"HOST", L"ip", L"127.0.0.1"); //**** 1. std::unique_ptr используется чтобы избавиться от delete. std::unique_ptr все делает сам. 2. Файл ini для Андроида надо сохранить в UTF-8.
  4. Я использую TMediaPlayer для воспроизведения видео по кругу и плюс в таймере необходим запуск разных видео файлов по расписанию. Выяснилось следующее - если использовать для запуска нового файла такой код, то периодически программа вываливается из памяти: //в таймере запуск видео с другим именем MediaPlayer1->Stop(); MediaPlayer1->FileName = name; //другой файл MediaPlayer1->Play(); А если запускать новый файл в TMediaPlayer так, то вроде работает и программа не вываливается: //в таймере запуск видео с другим именем MediaPlayer1->Stop(); MediaPlayer1->Clear();//вроде помогло, но надежно ли? MediaPlayer1->FileName = name; MediaPlayer1->Play(); Достаточно ли строки MediaPlayer1->Clear(); чтобы предотвратить возможное вываливание программы из памяти в будущем?
  5. Я за ветку форума здесь с названием Флудильня (или еще как) помимо телеграмма. Конкретно на этом форуме отдельный раздел... Очень его не хватает... Пусть туда флуд сыпется... Опыт показывает, что в таком разделе самородки (или вкрапления золота ) маленькие всегда находятся... и решают вопросы... Изначально Ярослав очень строго организовал форум и это правильно, но мы все скатываемся рано или поздно во флудильню, устроен так человек... Такой раздел нужен на форуме для таких как мы..., а нас не опытных большинство. Ну это модераторам решать.
  6. Вообще то Инга моя сестра, а что есть ответы на вопросы которые поднимались 500 раз? Нет, ответов нет.
  7. Пуш и андроид 6

    Пуш приходит и в андроид 4.4 и в андроид 6. Если же приложение полностью выгрузить из памяти, то пуш приходит только в андроид 4.4. Почему при таких условиях пуш не приходит в андроид 6?
  8. Появилась статья рассказывающая как подключить сервис для Андроида созданного на паскале к приложению созданному в С++ Builder. Сервис естественно на паскале, хотелось бы сразу правильно начать его модернизировать, а то много времени приходиться тратить на понимание синтаксиса. Опыта создания сервисов для Андроида нет, поэтому возник вопрос... Есть стандартный пример нужного сервиса, который я подключаю к своему приложению: C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\Multi-Device Samples\Device Sensors and Services\AndroidBeaconServiceDemo В сервисе есть процедура, которая срабатывает когда устройство входит в зону действия маячка beacon: procedure TBeaconServiceDM.Beacon1BeaconEnter(const Sender: TObject; const ABeacon: IBeacon; const CurrentBeaconList: TBeaconList); Я хочу, чтобы эта процедура если сработала, то следующее ее срабатывание стало бы возможно только через 60 минут. Для этой цели планирую завести, в этом сервисе на паскале, глобальную переменную bool и менять ее в таймере. Вопрос такой – правильно ли использовать в сервисе для Андроид компонент TTimer и вообще правильный ли мой подход? Если нет, то как правильно для Андроид сервиса? Спасибо.
  9. Спасибо. Не до конца понятно... Несколько разных мнений и рекомендаций... Можно показать на паскале единственно правильное решение для службы андроида, где делаеться отсечка времени в 60 минут для сработки события. Спасибо.
  10. Есть маячок бикон iBKS 105. Любое приложение скаченное с Google Play по определению маячков прекрасно его определяет. Пытаюсь использовать стандартный пример с сервисом, и открываю его в Дельфи: C:\Users\Public\Documents\Embarcadero\Studio\18.0\Samples\Object Pascal\Multi-Device Samples\Device Sensors and Services\AndroidBeaconServiceDemo Успешная компиляция в Дельфи и запуск на планшете Андроид 4.4, однако это приложение не определяет мой бикон. Приложения с Google Play его определяют без проблем. Подскажите, пожалуйста, в чем может быть проблема и куда копать?
  11. Вспомнила, что об этом уже говорил master webs: http://fire-monkey.ru/topic/2734-вызов-приложения-из-нофитикейшена/?do=findComment&comment=17497 Просьба проголосовать ибо это касается дельфи, а телефонов с андроид 4.4 много у пользователей: https://quality.embarcadero.com/browse/RSP-18117 Возможно не работает и версии Андроид 5, но такого устройства под рукой нет, чтобы проверить...
  12. GCMIntentService или Multiline Push and Local Notification

    Теперь вроде понятно про разбиение строк, помогло наблюдение... Переноса строк нет если в шторке присутствуют уведомления от других приложений. Если уведомление в штока одно, то есть перенос строк. Это на моём устройстве.
  13. Нажимаю кнопку для открытия формы с TWebBrowser: FormWEB = new TFormWEB(this); FormWEB->WebBrowser1->Navigate(L"http://моя ссылка"); FormWEB->Show(); Вижу в метке слово Загрузка, а когда страница загружена метка становиться пустой. Все нормально. Если уже в открытой странице в окне TWebBrowser есть гиперссылка и нажать на нее, то в метке уже не наблюдается слово Загрузка. Как при нажатии ссылки в самом TWebBrowser, показать в метке процесс загрузки? void __fastcall TFormWEB::WebBrowser1DidFinishLoad(TObject *ASender) { Label1->Text = L""; } //--------------------------------------------------------------------------- void __fastcall TFormWEB::FormShow(TObject *Sender) { Label1->Text = L"Загрузка..."; } //--------------------------------------------------------------------------- void __fastcall TFormWEB::WebBrowser1DidStartLoad(TObject *ASender) { Label1->Text = L"Загрузка..."; }
  14. Может на этом форуме найдется специалист по PHP чтобы снять ограничение на 1000 устройств? Просто тут многие занимались пушами. Евгений Корепов, предлагал свой вариант, но как его адаптировать и правильно интегрировать в сервер из блога Равиля? function SendGCMMessagesPacket($apiKey, $DevicesTokenArray, $message, $title, $DBLink, $TableName, $MyLog_GCM_file) { if (count($DevicesTokenArray)==0) { MyLog($MyLog_GCM_file, "Count Devices Token Array is 0, skip sending"); return(0); } $Count_Success = 0; $DeviceCountMax = 1000; $DeviceCountIndex = 0; $DevicesTokenPacketArray = array(); $gcpm = new GCMPushMessage($apiKey); while ($DeviceCountIndex<=count($DevicesTokenArray)) { $DevicesTokenPacketArray = array_slice($DevicesTokenArray, $DeviceCountIndex, $DeviceCountMax); MyLog($MyLog_GCM_file, "Packet send: start index $DeviceCountIndex, count ".count($DevicesTokenPacketArray)); $gcpm->setDevices($DevicesTokenPacketArray); $ResponceJSON = $gcpm->send($message, array('title' => $title)); $Count_Success = $Count_Success + AnalyzeResponse($DevicesTokenPacketArray, $ResponceJSON, $DBLink, $TableName, $MyLog_GCM_file); MyLog($MyLog_GCM_file, $ResponceJSON); $DeviceCountIndex = $DeviceCountIndex + $DeviceCountMax; // sleep(1); } return($Count_Success); }
  15. GCMIntentService или Multiline Push and Local Notification

    Это какая-то не стабильность... Сейчас пришло как положено с разбиением строк и правильным заголовком. Никаких изменений в коде не делалось...
  16. GCMIntentService или Multiline Push and Local Notification

    С чем может быть связано, что не с того ни с сего перестал работать перенос строк в пуше в андроиде? ***method=sendPush&title=Микрос&text=Текст текст текст текст текст текст текст Причем вчера работало как надо. Также периодически игнорируется заголовок и пишется вместо него название приложения. На что обратить внимание? Спасибо.
  17. Просьба проголосовать: https://quality.embarcadero.com/browse/RSP-17939 Спасибо.
  18. В iOS проекте Project > Options > Entitlement List нет Receive Push Notification. Может нужен какой-то доп. ключ добавить в Version info проекта? Спасибо.
  19. Вроде все верно. Наверное что-то еще упустила...
  20. Вроде все сделал как надо. Тестирую на стенде где было собрано давно нормальное приложение. Теперь добавляю приложение с пушами... и не работает... Теперь или баг С++ Builder или моя тупость при работе с ios...
  21. А зачем? Все работает и на С++. Был баг. Его решили. Равиль помог определить и суппорт быстро решил. А что в делфи багов нет? Из-за бага менять язык? Нет.
  22. И снова наш любимый ios для домохозяек...:) Нормально запустить дебаг не получается так как все время: Session ended Однако с помощью лейбл имеем такое: FDeviceToken = FPushService->DeviceTokenValue[TPushService_TDeviceTokenNames_DeviceToken]; //добавлено для теста Label1->Text = L"Что тут? " + FDeviceToken; и видим что FDeviceToken пустой. Куда копать? Спасибо.
  23. В общем все нормально и заголовок и перенос текста работает. Видимо один раз был сбой, но это совсем не проблема. Спасибо за статью! Все работает и пуши живут теперь и в билдере. P.S. На будущее по возможности напишите понятную статью, а как обойти ограничение на 1000 пользователей. А так все работает. Только отменила ShowMessage(aText) на посылку Notification, а то два подряд ShowMessage не очень.
  24. А сейчас заголовок нормально пришел...
  25. Удалось разбить перенос строк в уведомлении. Однако теперь заголовок игнорируется и выводиться всегда название приложения. Так и должно быть? Спасибо.