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

Rusland

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

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

  • Посещение

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

    26

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

  1. ZuBy, насколько помню вышеуказанный код брал у вас (из примера TMapsEngine)... на других устройствах работает нормально, а тут какая-то непонятка. Есть какие-нибудь идеи как решить проблему?
  2. При обращении к глобальным переменным все нормально на всех устройствах?
  3. Вынес из потока if Assigned(mPolyLine) then mPolyLine.Remove; {$IFDEF ANDROID} TTask.Run( procedure begin mEnginel.SetOptionsGoogleDistance('AIz...Jg'); mEnginel.GoogleDistance(TMapCoordinate.Create(ALat,ALon), TMapCoordinate.Create(BLat,BLon), mRoutePoints, mRouteInfo); // построение маршрута TThread.Synchronize(TThread.CurrentThread, procedure var RoutePoints: TMapPolylineDescriptor; mPolyLineTmp: TMapPolyline; begin ToastMsg('Маршрут проложен '+ObjectName+#13#10#13#10+ ' Расстояние: ' + mRouteInfo.DistanceAsString +#13#10+ ' Расчетное время: ' + mRouteInfo.DurationAsString); // рисуем маршрут RoutePoints:=TMapPolylineDescriptor.Create(mRoutePoints); RoutePoints.StrokeWidth:=6; RoutePoints.StrokeColor:=TAlphaColorRec.Indigo; mPolyLineTmp:=MapView.AddPolyline(RoutePoints); mPolyLine:=mPolyLineTmp; // ошибка перешла сюда end); end); {$ENDIF} mPolyLine в паблик секции public { Public declarations } mPolyLine: TMapPolyline; Почему при записи в глобальную переменную происходит ошибка? krapotkin, при старорежимной конструкции можно ли будет записывать в глобальную переменную? Вы пробовали?
  4. Вот код постройки маршрута procedure TFrmMain.MakeRoute(ALat,ALon,BLat,BLon:Double; ObjectName:String); // построение маршрута var MC: TMapCoordinate; begin {$IFDEF ANDROID} TTask.Run( procedure begin mEnginel.SetOptionsGoogleDistance('AIz...IJg'); mEnginel.GoogleDistance(TMapCoordinate.Create(ALat,ALon), TMapCoordinate.Create(BLat,BLon), mRoutePoints, mRouteInfo); TThread.Synchronize(TThread.CurrentThread, procedure var RoutePoints: TMapPolylineDescriptor; begin if Assigned(mPolyLine) then mPolyLine.Remove; // выдает Invalid class typecast ToastMsg('Маршрут проложен '+ObjectName+#13#10#13#10+ ' Расстояние: ' + mRouteInfo.DistanceAsString +#13#10+ ' Расчетное время: ' + mRouteInfo.DurationAsString); // рисуем маршрут RoutePoints := TMapPolylineDescriptor.Create(mRoutePoints); RoutePoints.StrokeWidth:=6; RoutePoints.StrokeColor:=TAlphaColorRec.Red; mPolyLine := MapView.AddPolyline(RoutePoints); end); end); {$ENDIF} end; У меня подозрение, что ошибка происходит при обращении внутри конструкции TTask.Run( procedure begin TThread.Synchronize(TThread.CurrentThread, procedure begin // тут end); end); к глобальным переменным. mPolyLine: TMapPolyline; MyMarker: TMapMarker; LMarkers: TList<TMapMarker>; это все глобальные переменные. Что я делаю не так?
  5. ZBar отлично работает и под разными углами
  6. Решилась проблема на планшете Б - в настроках Местоположение -> Режим определения нужно было выставить Максимальная точность (а было Только по GPS). Осталось определить почему зависает планшет А. Есть какие-нибудь идеи?
  7. Есть два планшета Lenovo Tab 2 A7-30DC (назовем их A и Б). Есть написанная на Berlin программа с MapView. По умолчанию у обоих стояла ОС Android 4.4.2. На A я обновил операционку до максимальной официальной версии 5.0.1, на Б оставил 4.4.2 На Б программа худо-бедно работает, но на MapView не показывает синюю точку - текущее местоположение (сторонние программы GPS Status, Яндекс Навигатор GPS координаты ловят нормально). Пробовал компилировать на Seattle - тоже самое. LocationSensor сначала неправильно показал координаты, ошибся на 300км, но после перезапуска программы стал показывать правильно. Почему MapView не показывает, не понимаю. На А программа зависает при попытке поставить метку на MapView или нарисовать маршрут получаю Segmentation fault. Вот, например: procedure TFrmMain.SetMarkerOnMap(Id:integer;NaimObj,AdrObj:String;Lat,Lon:Double); var Descrip: TMapMarkerDescriptor; MyLocation: TMapCoordinate; begin TThread.Queue(TThread.CurrentThread, procedure begin try if (MapView.Visible) then begin MyLocation:=TMapCoordinate.Create(Lat,Lon); Descrip:=TMapMarkerDescriptor.Create(MyLocation); Descrip.Icon:=ImObjBlueMarker.Bitmap; Descrip.Draggable:=False; Descrip.Title:=NaimObj; Descrip.Snippet:='['+Id.ToString+'] '; if (AdrObj<>'') then Descrip.Snippet:=Descrip.Snippet+AdrObj; MyMarker:=MapView.AddMarker(Descrip); // тут Segmentation fault LMarkers.Add(MyMarker); end; except end; end); end; Как решить проблему?
  8. Какой-то процессор малоизвестный: ST-Ericsson NovaThor U8420, 1000 МГц Может быть и на Seattle/Beril не заработает.
  9. У меня возникла похожая проблема, но на Berlin. Есть два одинаковых 7'' планшета: на одном оставил версию что была по умолчанию 4.4.2, а на другом обновлял официальную прошивку до последней 5.0.1 На первом проблема с поиском координат (в других программах типа ЯндексНавигатор координаты сразу находит), на втором Segmentation fault при добавлении маркера и создании маршрута на MapView. На третьем 8'' планшете все работает хорошо.
  10. Если речь про Андроид, то Тут тема про то как открыть html. Здесь аналогично. Главное чтобы было приложение способное открыть pdf. Или вы хотите непосредственно в своем приложении его открыть?
  11. Rusland

    TestBed на Android

    Нашел интересный пример двумерной графики \Object Pascal\Multi-Device Samples\Physics\TestBed На Windows все нормально, а вот на Android: 1.) Не отображаются круги и треугольники 2.) Ухватить тонкие элементы не реально 3.) Когда выбираю Tiles, Pyramid или Tumbler (другими словами когда много объектов), то начинаются дикие тормоза. Процессор не слабенький. Почему?
  12. Rusland

    [TLabel]OnClick в Android

    Достаточно Hittest=true (он по умолчанию у Label=false)
  13. Rusland

    [TLabel]OnClick в Android

    Kitty, есть же OnTap и Hittest надо выставить true
  14. Попробовал, теперь это место проходит... Может ответ кодировать надо?
  15. Volt-, на строке MainForm.IdDNSResolver.Resolve(S); ругается: До ABinding.SendTo не доходит управление
  16. Только что на пустом проекте поставил Edit, выставил ему KillFocusByReturn=true и теперь после редактирования когда я нажимаю кнопку Return на виртуальной клавиатуре, она (клавиатура) просто скрывается. Никакие переводы картеки не делаются. Разве не стандартное решение? Kitty, приложите свой тестовый проект.
  17. d7d1cd, мне вот интересно, конечная цель - получить показания счетчика?
  18. Вам не KillFocusByReturn=true нужен? Еще есть свойство ReturnKeyType
  19. Действительно, убрал {$IFNDEF DEBUG} и все заработало )
  20. Попробовал повторить - действительно выдает ошибку "Error creating form: Index out of range (21). Must be >= 0 and < 21" Попробовал положить на обычный ScrollBox и на HorzScrollBox и на FramedVertScrollBox - тоже самое. А вот с PresentedScrollBox нормально
  21. Brovin Yaroslav, так я и использую процедуру: procedure Log(const Fmt: string; const Params: array of const); var Msg: string; M: TMarshaller; begin {$IFNDEF DEBUG} Msg := Format(Fmt, Params); LOGI(M.AsUtf8(Msg).ToPointer); {$ENDIF} end;
  22. Пытаюсь из сервиса вывести лог, но в monitor ничего не приходит. Для примера вот тестовый проект Проверьте, как у вас? PS. Из приложения лог приходит нормально
  23. Все, разобрался. У меня одна и та же функция в двух местах и менял я код не там где надо было. Тему можно закрывать
×
×
  • Создать...