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

Anasazi

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

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

  • Посещение

Сообщения, опубликованные Anasazi

  1. Всем привет. Столкнулся со следующей проблемой после активации tedit при попытке создать любое намерение (для набора номера или открытия ссылки) программа наглухо зависает. И наоборот после создания и выполнения намерения, если перейти к tedit происходит глухое зависание. Тоже самое происходит и с memo.

    Проблема похожа на описанную в этой теме, но решение из нее не помогает

    Чем заменить tedit не знаю, пробовал все возможные варианты. Функции работы с намерениями рабочая и если не активировать tedit то все работает отлично.

    Пробовал на разных устройствах, результат тот же. Правда на всех устройствах был Android 5.

     

    Подскажите пожалуйста, возможно ли под android создать диалоговое окно с вводом текста? Или может быть есть еще какие-нибудь способы ввода текста?

     

  2. В 18.08.2015 в 11:25, Равиль Зарипов (ZuBy) сказал:

    Компонент TMapsEngine

     

    Возможности

    • Нативный LocationSensor [ANDROID]
    • Геокодинг/Реверс геокодинг через Google API, Yandex API, Here Maps API
    • Построение маршрута через Google Distance API
    • Расчет дистанции по прямой
    • Совместим со стандартным компонентом TLocationSensor

     

    Видео демонстрация

     

    На видео видно как TMapView косячик с миллионом точек, приложение зависло при отрисовке, но с этим ничего не поделать.

    Без синхронизации не возможно отрисовать все точки

     

    Исходник

    TMapsEngine_source.zip

    TMapsEngine_Seattle_10.zip

     

    Скачать APK  (долго он там не пролежит, а форум не позволяет загрузить zip размером 7,4 мб )

     

    Подскажите а компонент только с Android работает?

  3. В 05.09.2016 в 19:16, gonzales сказал:

    Доброго времени суток всем!

    Камрады, выручайте, столкнулся с неприятной неприятностью. Обновил прошивку на телефоне, причем версия Андроид не изменилась, 5.1.1. Изменилась только оболочка (MIUI8 если кто знает)

    После этого перестали запускаться приложения, написанные на Дельфи ХЕ8. Причем как старые так и новые. Уже все перепрбывал, менял Android SDK, отключал разрешения, менял настройки debug-release. Все бес толку, приложение показывает SplashScreen и умирает. 

    Запустил в debug режиме, получил на старте исключение

    First chance exception at $E44B68E9. Exception class EStartUpCopyException with message 'Cannot deploy, "" file not found in assets'. Process Project1.apk (21807)

    в модуле Sustem.StartUpCopy, функция function CopyAssetToFile(LAssetManager: PAAssetManager; const AssetFolder, AssetName: string;
                  const DestinationRoot, DestFolder, FileName: string): Boolean;

    то есть я так понимаю, что проблема с deploy, но все тоже самое на другом телефоне работает без проблем (специально проверил на старом телефоне). Откатил прошивку обратно, все сразу заработало. Налил новую - тут же перестало.

    Посмотрел ошибки logcat, но ничего примечательного не нашел

    
    I/ActivityManager( 3676): START u999 {act=android.intent.action.MAIN cat=[android.intent.category.LAUNCHER] flg=0x10000000 pkg=com.embarcadero.Project1 cmp=com.embarcadero.Project1/com.embarcadero.firemonkey.FMXNativeActivity bnds=[550,657][686,793]} from uid 1000 on display 0
    
    V/WindowManager( 3676): addAppToken: AppWindowToken{1bf9ff3b token=Token{f0781ca ActivityRecord{258c4935 u999 com.embarcadero.Project1/com.embarcadero.firemonkey.FMXNativeActivity t29}}} to stack=1 task=29 at 0
    
    V/WindowManager( 3676): Adding window Window{1522af0f u0 Starting com.embarcadero.Project1} at 7 of 13 (after Window{2e27bdf1 u0 com.miui.securitycore/com.miui.xspace.ui.activity.XSpaceSettingActivity})
    
    I/ActivityManager( 3676): Start proc 20826:com.embarcadero.Project1/u999a106 for activity com.embarcadero.Project1/com.embarcadero.firemonkey.FMXNativeActivity
    
    V/UidProcStateHelper( 3676): process state changed:[20826,99910106,2]
    V/UidProcStateHelper( 3676): process state changed:[8006,10023,3]
    W/ActivityManager( 3676): getTasks: caller 10023 is using old GET_TASKS but privileged; allowing
    I/UsageStatsDatabase( 3676): Upgrading from version 0 to 2
    I/UsageStatsDatabase( 3676): Deleting all usage stats files
    I/UsageStatsService( 3676): User[999] Rollover scheduled @ 2016-09-06 03:00:00(1473120000000)
    I/ActivityManager( 3676): Process com.embarcadero.Project1 (pid 20826) has died
    V/UidProcStateHelper( 3676): process died:[20826,99910106]
    

    В общем замучился уже, не могу понять, чего ему не хватает. Пробовал apk файл руками закидывать на телефон, все равно вылетает.

    Помогите, кто чем может, советом каким!!!

    Заранее спасибо!

     

    PS. Прошу прощения, если написал не в тот раздел, не сразу увидел раздел Андроид. Если модераторов не затруднит, перенесите тему. Спасибо!

     

     

     

    А значок приложения у тебя не поменялся на значок с буквой "У"? После обновления  на MIUI 8 у меня все приложения написанные в RAD Studio с этим значком.

    Screenshot_2017-02-03-10-58-39-009_com.miui.home.png

  4. Удалось существенно снизить задержку, использовал код Ярослава.

     

     var
        Buffer: TBitmap;
      begin
        // Draw to Bitmap force to load all styles, measure size, build font-glyphs etc
        Buffer := TBitmap.Create(1, 1);
        try
          Buffer.Canvas.BeginScene;
          try
            MultiView.PaintTo(Buffer.Canvas, Control.LocalRect);
          finally
            Buffer.Canvas.EndScene;
          end;
        finally
          Buffer.DisposeOf;
        end;
  5. 1 час назад, krapotkin сказал:

    из "ничего такого" там веббраузер лежит

    уберите его на время и посмотрите

    Проблема оказалась не, в веббраузере, а в TImage внизу. Убираю их и все нормально. Как решить пока только не знаю.

  6. В 21.01.2017 в 05:17, krapotkin сказал:

    неплохо бы узнать, что за форма такая, что сильные тормоза?

    возможно есть пути оптимизации, вместо придумывания объезда?

    На форму кинут Tlayout, на него TGridPanelLayout. В принципе из необыного только TGridPanelLayout (первый раз его использую). Внизу 4 компонента TImage.

     

    Скрин Кунгур.png

  7. В 20.01.2017 в 13:26, Равиль Зарипов (ZuBy) сказал:

    ну самое простое наверное кинуть TLayout на форму и все контролы переместить на него

    
    PreloadContent(Layout1);

    Всегда первым делом кидаю на форму Layout и сейчас по првычке сделал так-же не смотря что на нем сверху еще TGridPanelLayout. Пробовал как вы сказали, не помогает.

  8. В 19.01.2017 в 10:06, Равиль Зарипов (ZuBy) сказал:

    При первом появлении стили еще не подгружены, их можно прогрузить заранее

    Возможно это решит проблему

     

    Этот пример я видел. Но тут есть один нюанс, в примере подгружаются стили MultiView1, 

    PreloadContent(MultiView1);

    А для какого компонента подгружать стили мне?  PreloadContent(Form2) сделать не получится, при компиляции ругается. Может быть попробовать для всех компонентов формы?

  9. 14 часов назад, Rusland сказал:

    Может быть много стилей и они загружаются?

    Используется один из стандартных стилей. Может конечно стиль загружается. На более слабых устройствах очень заметно это.

  10. Всем привет. Есть приложение под Android, используются 2 формы. Так вот при первом переключении есть заметная задержка (фриз). Четко чувствуется на всех устройствах. При следующих переключениях такого не наблюдается. Может быть кто-то сталкивался с такой проблемой, подскажите пожалуйста пути решения.

  11. В 03.11.2016 в 16:04, ZuBy сказал:

    если вам не понятен этот код

    
    For i:=0 to List.Count-1 do
    with List.Items[i] do
    begin
    	Position.Y:=Position.Y+0.5;
    end;

    то его можно переписать следующим образом

    
    for i:=0 to List.Count-1 do
        List.Items[i].Position.Y := List.Items[i].Position.Y+0.5;

     

    UPDATE: http://delphicode.org/delphi/with.htm

    Спасибо! Так гораздо понятнее!

  12. Всем привет. Чиатю книгу Осипова по Delphi. В книге есть один пример создания простой игры, вроде бы в нем все понятно кроме одного момента.

    По задумке один таймер должен создавать шарики и присваивать им случайные координаты. Второй таймер должен опускать шарики вниз.

    С первым все просто и понятно понятно:

    procedure TForm1.Timer1Timer(Sender: TObject);
    Var
    Circle:Tcircle;
    begin
    Randomize;
    Circle:=TCircle.Create(nil);
    List.Add(circle);
    Circle.Parent:=Form1;
    Circle.Position.Y:=0;
    Circle.Position.X:=Random(Round(Form1.Width-Circle.Width));
    end;

    А вот со вторым какие-то чудеса:

    procedure TForm1.Timer2Timer(Sender: TObject);
    var
    i: integer;
    begin
    For i:=0 to List.Count-1 do
    with List.Items do
    begin
    Position.Y:=Position.Y+0.5;

    Я не могу понять почему при перемещении шариков вниз мы пишем просто Position.Y:=Position.Y+0.5;

    Как компилятор понимает что это Position.Y именно шарика, а не формы допустим или квадрата?

    Я привык обращаться к свойству Position так Rectengle1.Position.Y.

    Подскажите пожалуйста как так.

  13. Спасибо! Сделал так:

    for LNotification in ps.StartupNotifications do
      begin
        s:=lNotification.Json.ToString;
        showmessage(s);
      end;

     

    Правда получил вот такую картину.

    Добавил парсинг нужного фрагмента и все получилось отлично.

    Скрин.jpg

  14. Есть объект APushService:TPushService, при запуске приложения с помощью окна пуш-уведомления пытаюсь сделать, чтобы текст уведомления отображался в showmessage. У APushService есть свойство StartupNotifications, но тип System.TArray. Подскажите пожалуйста, вывести значение StartupNotifications на экран?

    push.jpg

  15. думаю слеша не хватает, показано: WebBrowser1.URL := 'file:/' +

    пробуйте

    WebBrowser1.URL := +

    Со слэшем как раз все нормально. Если добавить еще один, то будет лишний. И как я понял у Ярослава на эмуляторе все работает. Я взял исходник, который он прикрепил ( WebBrowserLoadLocalFile.zip). Скомпилировал на устройстве и приложение вылетает, сразу после запуска.

  16. Добрый день,

     

    Прикрепляю проект, где все загружается корректно (iOS Simulator). attachicon.gifWebBrowserLoadLocalFile.zip

    Внимательно проверьте место назначения развертывания файла и факт того, что он задеплоился:

    1. Обязательно слэш в конце: "Startup\Documents\"
    2. Строка с файлом в Deployment Manager не должна быть серой!

    attachicon.gif2015-07-10 15-36-59 WB_LoadLocalFile - Aitana Developer Build - Welcome Page.png

    Загрузка идет таким способом:

    uses
      System.IOUtils;
    
    procedure TForm15.FormCreate(Sender: TObject);
    begin
      WebBrowser1.URL := 'file:/' + TPath.Combine(TPath.GetDocumentsPath, 'DemoPage.html');
    end;
    

    P.S. Сделано все по руководству Включение своих файлов в приложение

    Пробую запустить ваш пример на устройстве iPhone 4S. После запуска приложение сразу же закрывается.

  17. По пушам мне очень вот это понравилось: http://lfgonzalez.visiblogs.com/2014/11/radstudio-xe6xe7-remote-push-notifications-gcm-y-apns/. У меня есть веб сервер, на нем крутится ApnsPHP. Вполне все очень хорошо работает.

    мне бы сейчас разобраться с отправкой через Kinvey или Parse. Под Android все работает с ios проблема.
  18. Тогда смотрите справку для XE8, а не от XE7.

    http://docwiki.embarcadero.com/RADStudio/XE8/en/Creating_the_Application

    Там этих действий нету

    Сделал все пункт за пунктом по мануалу. Приложение ругается "Error. Not Found". Использую KinveyProdider. Опытным путем установил что ошибка выходит после выполнения PushEvents1.RegisterDevice.

    Подскажите пожалуйста. На что обратить внимание? В чем может быть проблема?

  19. Тогда смотрите справку для XE8, а не от XE7.

    http://docwiki.embarcadero.com/RADStudio/XE8/en/Creating_the_Application

    Там этих действий нету

    Спасибо, завтра еще раз все просмотрю, может быть что-то пропустил. Я думал не работает из-за того, что "Receive Push Notification in iOS" не поставил в true, но причина похоже в другом.

  20. Добрый день,

    • Потому что это касается только Андроида.
    • Под IOS посмотрите следующий раздел iOS Settings
    извините, если вопрос не корректный. Я кажется что-то недопонимаю. Но почему написано: "select Receive Push Notification in iOS. Set its value to True."?
  21. Пытаюсь реализовать push-уведомления под ios.

    Делаю все по этому мануалу: http://docwiki.embarcadero.com/RADStudio/XE7/en/Creating_the_Application

     

    Дошел до пункта:

     

    Right-click your project in the Project Manager. Choose Project > Options > Entitlement List, and select Receive Push Notification in iOS. Set its value to True.

     

    Открываю Project > Options > Entitlement List и вижу что там пусто, нет ни одного пункта.

     

    Подскажите пожалуйста в чем может быть дело?

    post-901-0-14899500-1436523288_thumb.png

×
×
  • Создать...