Page 4 of 4 FirstFirst ... 2 3 4
Results 46 to 54 of 54

Thread: Update naar versie 11.3 probleem

  1. #46
    Doordat ik met diverse problemen bezig ben met deze omschakeling ben ik op dit moment het overzicht kwijt, maar nu even dit probleem:

    Code:
    //Toestemming: Opslag / Bestanden
    procedure TForm1.Toestemming_1();
    begin
     PermissionsService.RequestPermissions
     ([JStringToString(TJManifest_permission.JavaClass.READ_EXTERNAL_STORAGE),
     JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE)],
      procedure(const APermissions: TClassicStringDynArray; const AGrantResults: TClassicStringDynArray<TClassicPermissionStatusDynArray>)
        begin
         if (Length(AGrantResults) = 2) and
           (AGrantResults[0] = TClassicPermissionStatusDynArray.Granted) and
           (AGrantResults[1] = TClassicPermissionStatusDynArray.Granted) then
             begin
              // Er is Toesteming
              //Toestemming_2(); //De Volgende Toestemming Vragen
              App_Start();
             end
           else
            begin
             // Er is Geen Toesteming
             MessageDlg('Deze App kan niet werken Zonder toegang tot de Bestanden.' + #13#10 +
             'Als deze keuze niet meer verschijnt:' + #13#10 +
             '-Instellingen' + #13#10 +
             '-Apps' + #13#10 +
             '-Zoek deze App' + #13#10 +
             '-Rechten/Machtigingen' + #13#10 +
             '-Opslag/Bestanden Aanzetten' + #13#10 +
             'Of Verwijder de App en Installeer deze opnieuw !' + #13#10 +
             #13#10 +
             'App Afsluiten ?', TMsgDlgType.mtConfirmation,
             [TMsgDlgBtn.mbYes, TMsgDlgBtn.mbNo], 0,
             procedure(const AResult: TModalResult)
              begin
               if AResult = mrYes then
                begin
                 Application.Terminate; //App Afsluiten
                 Exit;
                end
               else
                Toestemming_1(); //Nogmaals Toestemming Vragen
              end);
    
            end;
        end);
    
    end;
    Geeft:
    [DCC Error] Unit1.pas(213): E2003 Undeclared identifier: 'TClassicStringDynArray<>'
    [DCC Error] Unit1.pas(215): E2008 Incompatible types
    [DCC Error] Unit1.pas(216): E2412 CREATE expected
    [DCC Warning] Unit1.pas(216): W1023 Comparing signed and unsigned types - widened both operands
    [DCC Error] Unit1.pas(216): E2015 Operator not applicable to this operand type
    [DCC Error] Unit1.pas(217): E2412 CREATE expected
    [DCC Warning] Unit1.pas(217): W1023 Comparing signed and unsigned types - widened both operands
    [DCC Error] Unit1.pas(217): E2015 Operator not applicable to this operand type
    [DCC Error] Unit1.pas(246): E2250 There is no overloaded version of 'MessageDlg' that can be called with these arguments
    [DCC Warning] Unit1.pas(246): W1000 Symbol 'MessageDlg' is deprecated: 'Use FMX.DialogService methods'
    [DCC Error] Unit1.pas(249): E2250 There is no overloaded version of 'RequestPermissions' that can be called with these arguments
    [DCC Fatal Error] Leeg.dpr(6): F2063 Could not compile used unit 'Unit1.pas'

    Voorheen kon ik hierna een bestand inlezen of weg schrijven, maar dat wil nu dus niet meer:
    Code:
    Memo1.Lines.LoadFromFile( Path + '/Data/Plaatsen.txt' ); 
    Memo1.Lines.SaveToFile( Path + '/Data/Plaatsen.txt' );
    Last edited by MMSoft; 01-Sep-23 at 12:39.

  2. #47
    Waar komt TClassicStringDynArray<TClassicPermissionStatusDyn Array> nu weer vandaan??

    Hiervoor geldt exact hetzelfde als voor die andere vervaging.

    TArray<string> moest vervangen worden door TClassicStringDynArray
    en TArray<TPermissionStatus> door TClassicPermissionStatusDynArray.

    Ga nu gewoon eens terug naar het begin en voer bovenstaande zin nu eens letter voor letter uit. Dus exact die hele TArray<string> vervangen door TClassicStringDynArray en de hele TArray<TPermissionStatus> door TClassicPermissionStatusDynArray.

  3. #48
    Ok, dan krijg ik dit:
    Code:
     PermissionsService.RequestPermissions
     ([JStringToString(TJManifest_permission.JavaClass.READ_EXTERNAL_STORAGE),
     JStringToString(TJManifest_permission.JavaClass.WRITE_EXTERNAL_STORAGE)],
      procedure(const APermissions: TClassicStringDynArray; const AGrantResults: TClassicPermissionStatusDynArray)
        begin
         if (Length(AGrantResults) = 2) and
           (AGrantResults[0] = TPermissionStatus.Granted) and
           (AGrantResults[1] = TPermissionStatus.Granted) then
             begin
              // Er is Toesteming
    Maar heb dan nog steeds geen toegang tot mijn bestanden, en zou iets gewijzigd zijn.

  4. #49
    Quote Originally Posted by MMSoft View Post
    Ok, dan krijg ik dit:
    Maar heb dan nog steeds geen toegang tot mijn bestanden, en zou iets gewijzigd zijn.
    Maar je krijgt geen foutmelding meer... toch.

    De vraag waarom je dan geen toegang hebt laat ik graaf aan de experts van Android/Delphi over.

    Het zou wel handig zijn dat, indien je een exception krijgt bij het openen, aangeeft welke melding dat precies is.
    ( want anders is het weer zo'n zelfde vraag als "mijn auto start niet." )

    Delphi Code:
    1. try
    2.   // doe iets wat een exception geeft
    3. except
    4.   on E: Exception do
    5.     laat_de_E.Message_zien_want_die_bevat_de_exception_text
    6. end;

    Of misschien weten andere beter hoe je bij Android de exception/message naar voren kunt halen.

  5. #50
    Het bestand bestaat nog niet, en die wil ik maken met de data die in Memo1 staat:
    Memo1.Lines.SaveToFile( Path + '/Instellingen.txt' );

    Geeft: Cannot create file ..... File exists

    Als er wel een bestand met deze naam is, dan kan ik het wel lezen en wijzigen, maar een nieuw bestand aanmaken lukt
    nu met de nieuwe versie niet meer (met de oude versie ging dat wel).

    Edit:
    Ik gebruik nu deze code om te testen
    Code:
    procedure TForm1.Button4Click(Sender: TObject);
    begin
    
     if FileExists(System.IOUtils.TPath.GetSharedDocumentsPath + '/Plaatsen.txt') then
       begin
         Showmessage('Bestand is er...');
       end;
    
     Memo2.Lines.SaveToFile( System.IOUtils.TPath.GetSharedDocumentsPath + '/Plaatsen.txt' ); //
    end;
    De 1e keer als het bestand er nog niet is, wordt dit netjes aangemaakt.
    Als ik de naam wijzig (vanuit de bestandsbeheer) dan wordt het bestand de volgende keer weer netjes aangemaakt.
    Maar als ik dit bestand wis (vanuit de bestandsbeheer op de Device (*)), dan ziet "FileExists" dat het bestand er niet is maar krijg ik de foutmelding: Cannot create file ..... File exists
    Heel vreemd toch ?

    (*) Als het bestand gewist wordt via de PC dan is het probleem er niet
    Last edited by MMSoft; 01-Sep-23 at 19:54.

  6. #51
    Tussenstand:
    -Waarom het .apk bestand de ene keer wel geinstaleerd kan worden, en een andere keer niet kan ik nog niet zeggen.

    -Ik had mijn bestanden altijd in een eigen map staan, maar deze is nu niet meer toegankelijk.
    De map "Documents" is wel toegankelijk (zelfs zonder Machtiging heb ik het idee (dit moet ik nog testen)), dus moet nu
    alle bestanden overzetten en al mijn App's aanpassen, maar daar is nog wel overheen te komen.

    -Er is iets vreemds aan de hand als je bestanden wist vanuit de Bestandsbeheer op de Device, Delphi heeft dan nog het idee
    dat het bestand bestaat.

    -Database bestanden (SQLite) zijn niet meer te openen, ook niet als deze in de map "Documents" staan.
    Hiervoor heb ik nog geen oplossing en kan hierbij jullie hulp gebruiken.

    Code:
    DataBaseBestand := Path + '/Data/Adressen.db';
    FDConnection1.ConnectionName := Path + '/Data/Adressen.db';
    FDConnection1.DriverName := 'SQLite'; 
    FDConnection1.Params.Database := DataBaseBestand;
    FDConnection1.Connected := True;
    Het volledige path is dan:
    /storage/emulated/0/Documents/MMSoft/Data/Adressen.db

    Bij de laatste regel krijg ik de melding:
    [FireDAC][Phys][SQLite]
    ERROR: unable to open
    database file

    Het werkte prima met Delphi 10.4, maar nu met versie 11.3 krijg ik deze fout melding.
    Wat is er aan de hand en hoe kan ik dit oplossen denken jullie ?
    Last edited by MMSoft; 02-Sep-23 at 18:12.

  7. #52
    Edit: Nieuwe thread gestart
    Last edited by MMSoft; 16-Sep-23 at 22:32.

  8. #53
    Dat bestanden nog lijken te bestaan lijkt iets met de zgn Content Provider. Die houdt een cache bij met bestandsinformatie, maar kan weleens achter lopen als je een bestand verwijdert.

    Er zijn blijkbaar manieren om die cache bij te werken, of tenminste om verwijderde bestanden er toch uit te halen. Zie bijvoorbeeld
    https://stackoverflow.com/questions/...-exist-in-cont

    In je laatste bericht gaat het ineens over SQLite en kom je met een pull request voor een issue voor React Native, JavaScript framework voor het bouwen van 'native' apps met een web-interface. En dat terwijl het, als ik met goed herinner, nog niet eerder over SQLite is gegaan, en de eerdere onderwerpen in de thread ook nog niet echt afgesloten zijn. Misschien dat het werkt hoor, en probeer het gerust uit (zo te zien hebben ze vooral wat .so-bestanden, een soort dll's, bijgewerkt).

    Je schreef twee weken geleden al dat je het overzicht een beetje kwijtraakte, maar dat zal voor andere lezers van deze thread niet heel veel beter zijn. Misschien beter focussen op één probleem tegelijk, of in ieder geval per probleem een thread starten, want op deze manier is het einde letterlijk zoek.
    1+1=b

  9. #54
    Quote Originally Posted by GolezTrol View Post
    Dat bestanden nog lijken te bestaan lijkt iets met de zgn Content Provider. Die houdt een cache bij met bestandsinformatie, maar kan weleens achter lopen als je een bestand verwijdert.

    Er zijn blijkbaar manieren om die cache bij te werken, of tenminste om verwijderde bestanden er toch uit te halen. Zie bijvoorbeeld
    https://stackoverflow.com/questions/...-exist-in-cont
    Dit lijkt inderdaad de oplossing, ben nu met deze code bezig:
    https://stackoverflow.com/questions/...nnerconnection

Page 4 of 4 FirstFirst ... 2 3 4

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •