Jump to content

microtronx

Members
  • Content Count

    136
  • Joined

  • Last visited

  • Days Won

    1

Posts posted by microtronx


  1. As i can say after doing a lot of tests: the tInAppPurchase component has a lot of problems. in my case it does never call the PurchaseCompleted, it throws an internal exception which is never showed to the user.

     

    Only solution so far is:

     

    1. do a myInAppPurchase.PurchaseProduct(vProductId);

    2. on next start of app do myInAppPurchase.QueryProducts; and after that do a myInAppPurchase.IsProductPurchased(vProductId); 

     

    How is this possible that such a base functionality has problems? Any problems prior to Rio there? Any tips / hints?


  2. 12 minutes ago, Alexander Sviridenkov said:

    Subscription is around 50% of license price + 15% discount increased by 5% every year of continued subscription.

    We can recommend Alexander's components. Very good working components and also very good support!

    • Like 2

  3. We've implemented InAppPurchases, it works but if the user buyes a 12 months subscription on finsih i get this error is returned in "OnError" as tFailureKind.Purchase:

     

    IabResult: IAB gab keine purchaseData oder dataSignature zurück (response: Unbekannter Fehler)

    But Google says purchase is successful. I see the subscription activated. If i do a InAppPurchase.QueryProducts the product is listed as activated. 

     

    Is someone using this with Rio and working? Is there any other component available than the integrated from embc. Such a base-function should work out of the box but does not. 


  4. Hi, i know that Rio does not support below API16 but we have some older apps for industrial devices we need to update them. They were programmed with Tokyo with a lot of problems and i want to test them with Rio. 

    Rio is installed on a new VM so i want to know if someone has get it work to compile apps for api level 16 / android 4.1.1 with Rio.

     


  5. On 1/29/2020 at 7:42 AM, microtronx said:

     

    Dave, you're the "Killer". Thanks a lot for this change in your demo. If i compare your project with mine the difference is:

     

    yours:

            FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
            FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.SQLite, FireDAC.Phys.SQLiteDef, FireDAC.Stan.ExprFuncs, FireDAC.ConsoleUI.Wait,
            FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt, Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client,

     

    to  mine:

            FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
            FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.SQLite, FireDAC.Phys.SQLiteDef, FireDAC.Stan.ExprFuncs, FireDAC.FMXUI.Wait,

            FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt, Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client,

     

    Using your used units solved all hangers + i have removed the datamodule-unit and restclient-unit also from project files.

    Everything is now working for some minutes without problems, very coool

     

    Thank you very much, 
            

     

    Again one note for others having also problems with Rio + Android + Service not starting:

     

    If you use the unit FMX.Types in your service-units, it will crash also.

     


  6. Hi, new to android and services but thanks to Dave and others i'm on the right way, creating great Apps with Delphi Rio for Android.

    In my case i lost 2 weeks because of not starting services ... and the reason was the automatic added FireDAC.FMXUI.Wait to my interface-uses. 

     

    At the moment i make changes to my Datamodule (within Service project), remove the unit with datamodule from my project, go to notepad, open datamaduleunit.pas and remove the "FireDAC.FMXUI.Wait" from uses.

    Next time i make changes within my datamodule the unit gets automatically added by delphi ... so i again have to remove it from the project and remove the uses by use of notepad.

     

    Does someone know how to disable this feature?


  7. On 1/28/2020 at 9:19 PM, Dave Nottage said:

    I've just checked in changes to this demo that include posting the location updates to a SQLite database. Service starts OK in it, at least for me.

    Hi Dave, I use your demo for background-location-updates in a new app and there is one question. will that tLocation use a lot of energy/battery or will it only be active each x minutes as defined in this line:

     

    FLocation.TimerTask.Schedule( (cLocationTimerInterval*60*1000) );

    I also need a new timer in the service, which i create with tTimerTask.create and set the .schedule(..). Any tips for me for a better battery usage on the device?


  8. 6 hours ago, Lars Fosdal said:

    Does an Android service have a Console define?

    Our FireDAC helper unit uses that to handle Windows services and other console apps.

     

    In my service i don't have that Console define because normally in a FMX Application we need FireDAC.FMXUI.wait ... but in case of android-service we need the FireDAC.ConsoleUI.wait


  9. 10 hours ago, Dave Nottage said:

    I've just checked in changes to this demo that include posting the location updates to a SQLite database. Service starts OK in it, at least for me.

     

    Dave, you're the "Killer". Thanks a lot for this change in your demo. If i compare your project with mine the difference is:

     

    yours:

            FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
            FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.SQLite, FireDAC.Phys.SQLiteDef, FireDAC.Stan.ExprFuncs, FireDAC.ConsoleUI.Wait,
            FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt, Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client,

     

    to  mine:

            FireDAC.Stan.Intf, FireDAC.Stan.Option, FireDAC.Stan.Error, FireDAC.UI.Intf, FireDAC.Phys.Intf, FireDAC.Stan.Def,
            FireDAC.Stan.Pool, FireDAC.Stan.Async, FireDAC.Phys, FireDAC.Phys.SQLite, FireDAC.Phys.SQLiteDef, FireDAC.Stan.ExprFuncs, FireDAC.FMXUI.Wait,

            FireDAC.Stan.Param, FireDAC.DatS, FireDAC.DApt.Intf, FireDAC.DApt, Data.DB, FireDAC.Comp.DataSet, FireDAC.Comp.Client,

     

    Using your used units solved all hangers + i have removed the datamodule-unit and restclient-unit also from project files.

    Everything is now working for some minutes without problems, very coool

     

    Thank you very much, 
            

    • Like 2
    • Thanks 1

  10. Hi All, thanks for trying to help me out.

     

    Now after i was able to debug the android-service by creating a lot of toslog.d entries and viewing them in realtime with help of the DeviceLens Tool we see that the problem is not only the Data.DB!

     

    If we use Data.DB (i had defined $ifdef's for this) then we have used also a function as described in 

     

    And there is also the problem. Each time the service calls that function with a + in a string it gets appended to a server-method-call within the url and the service stops working because of an exception http/404!

    I was not able to see this because the service is not debuggable from Delphi (afaik). Now after doing a check of strings / url-encoding them it works but this seems to be a bug in latest Rio Restserver / restclient impementations ... But using Data.DB also forces the service to hang, it can't even be started!

     

    • Like 1

  11. Is there a known bug with a Restserver build with RIO for Windows and an Android client calling a normal function like

    function tServerMethods.testfunction(vparameter1:string; vparameter2:string):string;
    begin
      result:=vparameter1+'/'+vparameter2;
    end;

     

    if i call this from an android client with

     

    clientmodule.servermethodsclient.testfunction('+abcd','def')

    the android device shows a error in log: http 404 error ... because the '+abcd' is not encoded. It attaches this to calling url without encoding it so it fails in my case. 



     


  12. 50 minutes ago, Lars Fosdal said:

    Is there any design time settings on any of the db components that may be in violation at time of startup?

    I have changed the code so the services does nothing, only adding the data.db in uses stops it from starting, removing the data.db everything ok again.

     


  13. 17 hours ago, Lars Fosdal said:

    Is it a rights issue?  Can the app lack access to the location where the db is supposed to be?

    Hi Lars, No rights are there. I'm requesting all rights on application start so we have access to filesystem ... as said, it works when i create all db-components in code and i can write / read.


  14. 13 hours ago, Rollo62 said:

    Could the "features files" have something to do with it ?

    https://en.delphipraxis.net/topic/1351-fmx-macos-missing-image-sqlite3-when-running-on-macos-sierra/?do=findComment&comment=11335

     

    The answer was for Macos setting, but as fas as I understand will the featured files adding necessary librarties to all platforms when needed.

    The hint that Sqlite "featured files" option is needed is still not present at Docwiki, but you can fint the option in the deployment manager.

    I don't think it has to do with that, because I can use the sqlite db with creating components in code and excluding Data.DB from uses.


  15. 8 hours ago, Dave Nottage said:

    Mine works OK with that unit in it.

    Good morning Dave,

     

    it is crazy but possible it has to do with Android 9? In my case everything works if i don't use the Data.DB and that means, i have to create all DB-Components in code. I'm doing this, using tSQLConnection and tSQLQuery for all access to SQLite Database files from app and from service.

     

    It works but something is not ok in Delphi. I use latest Rio with all available patches.


  16. 17 hours ago, Alain Weber said:

    Perhaps if you change the extention '.GDB' (or anything) of your database file to '.txt' it will run

    I have removed all occurences of Data.DB Unit from my project and units and now the Service is working without problems. Seems that Delphi Rio latest Version has problems there ...


  17. I was able to track down things, it seems if we use Data.DB in tServiceModule or another unit which is used by the android-service the service is not able to start.

    Now i create a tFdConnection directly in the tServiceModule by using only these units:

     

    FireDAC.Phys.SQLite, FireDAC.Phys.SQLiteDef, FireDAC.Comp.Client,

    and now the Android Service is running fine. Next I will check if same happens, if we remote Data.DB from ClientModuleUnit's from Rest-Client ...

     

    Edit: those FireDAC units are not enough, adding others >> service hangs .. i think some of them uses Data.DB ...

     

    Ohh Embarcadero...

×