Delphi-PRAXiS
Seite 7 von 7   « Erste     567   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Wie bringen User ihre Desktop-Daten einfach auf mobile Geräte? (https://www.delphipraxis.net/207626-wie-bringen-user-ihre-desktop-daten-einfach-auf-mobile-geraete.html)

himitsu 5. Jun 2021 22:39

AW: Wie bringen User ihre Desktop-Daten einfach auf mobile Geräte?
 
Ich weiß, die deutsche Hilfe ist noch alt,
http://docwiki.embarcadero.com/RADSt...rings_(Delphi)

aber in der Englischen steht es schon drin.
http://docwiki.embarcadero.com/RADSt...rings_(Delphi)

Und natürlich liest nie jemand die Hilfe, oder die Release-Notes, drum weiß es noch Keiner. :lol:
http://docwiki.embarcadero.com/RADSt...ey_-_Release_2 [edit] komisch, ich dachte das stand da mit drin, als neues geniales Feature beworben [/edit]


Wie gesagt, seit Delphi 10.4.2 wurde das endlich mal "repariert" (überall gleich),
genauso wie vor 'ner Weile endlich auch schon das mit dem total kranken Objekt-Handling in den Mobilen (ARC) verbessert wurde.

Zitat:

Note: Previous to Delphi 10.4 the mobile compilers used by default 0-based indexing for strings.

...

In general terms, string indexing is now uniform across platforms and uses 1-based index model.

Notice however that:

* Delphi string type helpers (TStringHelper) remain 0-based.
* All Delphi global flat functions are 1-based.
Dann noch die CustomRecords .... nun kann man endlich ordentlich arbeiten (ohne blöde rumpfuschen zu müssen) und das in allen Platformen nun endlich überall fast mit dem "gleichen" Code.


Nja, ist 1 (so wie es früher immer war), aber zumindestens nun überall einheitlich
und man hat standardmäßig überall den gleichen Code.
Global, in den Projektoptionen kann man sich aber nicht aussuchen, ob es 0 oder 1 sein soll, in seinen eigenen Units.
Delphi-Quellcode:
{$ZeroBasedStrings On}
je Unit geht ja immernoch.



Ich würde mich noch mehr freuen, wenn man defekten Mist reparieren würde, anstatt besch** Alternativen zu bauen.

Release statt Free, was das macht, was man von Free erwartet hatte. (ARC)
TThread.ForceQueue statt Queue, was das macht, was man von Queue erwartet hatte.
....

Harry Stahl 6. Jun 2021 11:01

AW: Wie bringen User ihre Desktop-Daten einfach auf mobile Geräte?
 
Also in NDK-API-SpeicherOrt stand bereits:

C:\Users\Public\Documents\Embarcadero\Studio\21.0\ CatalogRepository\AndroidNDK-21-21.0.40680.4203\android-ndk-r21\platforms\android-21

Mir ist aber nach Deiner Beschreibung nicht klar, wass ich exakt in Bibliothekspfad für C++ bzw. DLPHI-NDK ändern muss.
C++ nutze ich nicht, daher denke ich, dass ich da nichts ändern muss.

Im Delphi-Pfad steht:

C:\Users\Public\Documents\Embarcadero\Studio\21.0\ CatalogRepository\AndroidNDK-21-21.0.40680.4203\android-ndk-r21\sources\cxx-stl\llvm-libc++\libs\armeabi-v7a;C:\Users\Public\Documents\Embarcadero\Studio\2 1.0\CatalogRepository\AndroidNDK-21-21.0.40680.4203\android-ndk-r21\platforms\android-23\arch-arm\usr\lib

Was muss ich da genau ändern, um Android 5 als Ziel noch ansprechen zu können?

Delphi ist anscheinend egal, was man bei den letzten beiden Einträgen angibt. Während in den anderen Eingabezeilen immer ein Warnzeichen kommt, wenn man einen nicht existierenden Ordner / Datei eingibt, kann man hier eingeben, was man will.

In den Einstellungen für das SDK muss nichts geändert werden? Es kommt ja immer die Warnmeldung older "SDK".

Ich gehe davon aus, dass ich in den Einstellungen für Android 64-Bit nichts ändern muss, wenn ich nur 32 Bit als Ziel habe, richtig?

Mavarik 6. Jun 2021 15:34

AW: Wie bringen User ihre Desktop-Daten einfach auf mobile Geräte?
 
Wow langer Thread,
Hab nicht alles gelesen, sondern nur überflogen...

Null basierte Strings konnte man schon immer abschalten. Seit der 1. FMX Version!

Zur Übertragung:

Auch das machen meine Kunden täglich seit XE2. Genau wegen den beschriebenen Problemen, mache ich es vom ersten Tag so. (Hatte ich auch schon als post gesehen)

Voraussetzung: Handy im gleichen WLAN Netz wie PC. Per UDP Broadcast eine Nachricht an einen UDP-Server auf dem PC senden.
So bekommt der PC die IP des Handys. Dann per TCP (und eigenem Protokoll on top) die Daten zum Handy senden oder von Handy holen (oder beides).

Hier ist mein YouTube Video von 2013 zu diesem Thema.

Natürlich könnte man auch heutzutage Theathering verwenden, aber als ich das programmiert habe gabs das noch nicht.

Grüsse

Mavarik

PS.: Natürlich könnte man direkt eine SQLite Datenbank übertragen, ich mache es jedoch anders. Ich übertrage gepackte SQL-Insert Statements.

TurboMagic 6. Jun 2021 18:28

AW: Wie bringen User ihre Desktop-Daten einfach auf mobile Geräte?
 
Zitat:

Zitat von Harry Stahl (Beitrag 1490747)
Also

Also android-23 muss in android-19 geändert werden.
Das ist die API Version.
Und 64 Bit musst du nicht ändern wenn du nur für
32 Bit compilierst. Nur reine 32 Bit Versionen
kannst du halt nicht mehr in Google Play einreichen.

Harry Stahl 6. Jun 2021 20:13

AW: Wie bringen User ihre Desktop-Daten einfach auf mobile Geräte?
 
Zitat:

Zitat von Mavarik (Beitrag 1490761)
Wow langer Thread,
Hab nicht alles gelesen, sondern nur überflogen...

Zur Übertragung:

Natürlich könnte man auch heutzutage Theathering verwenden, aber als ich das programmiert habe gabs das noch nicht.

Für ein anderes Programm habe ich das mit Theathering auch schon gemacht, das wird in der Version 2.0 für das aktuell bearbeitete Programm dann auch so gehen, wollte jetzt aber nur mal schnell eine Android-11 Anpassung hinbekommen (wen es interessiert, hier ein kurzer Part aus einem Mini-Video für Kunden, zur Übertragung der Dateien vom PC auf das Gerät : https://youtu.be/dIQsfXchKKo?t=118)...

philipp.hofmann 6. Jun 2021 20:19

AW: Wie bringen User ihre Desktop-Daten einfach auf mobile Geräte?
 
Hast du Tethering auch mit MacOS und iOS gemacht? Da scheitert es bei mir gerade mit MacOS 11.x und iOS 14.x. MacOS 10.x und iOS 13.x waren noch kein Problem.
Apple kommt aber auch irgendwie nicht dazu zumindest für iOS endlich mal das "Multicast Networking Entitlement Request" von mir freizugeben, ich vermute dann wäre das iOS 14.x-Thema erledigt.
Aber mir ist noch schleierhaft, warum es mit MacOS 11.x nicht mehr geht (die Messages anderer Rechner kommen auf dem MacOS-System nicht mehr an).

DeddyH 6. Jun 2021 21:23

AW: Wie bringen User ihre Desktop-Daten einfach auf mobile Geräte?
 
In der Nicht-Delphi-Welt würde man so etwas vermutlich mit einem REST-Server regeln (das kann ja auch ein eigener sein). Wäre das evtl. eine Option?

Harry Stahl 6. Jun 2021 21:51

AW: Wie bringen User ihre Desktop-Daten einfach auf mobile Geräte?
 
Zitat:

Zitat von philipp.hofmann (Beitrag 1490770)
Hast du Tethering auch mit MacOS und iOS gemacht? Da scheitert es bei mir gerade mit MacOS 11.x und iOS 14.x. MacOS 10.x und iOS 13.x waren noch kein Problem.
Apple kommt aber auch irgendwie nicht dazu zumindest für iOS endlich mal das "Multicast Networking Entitlement Request" von mir freizugeben, ich vermute dann wäre das iOS 14.x-Thema erledigt.
Aber mir ist noch schleierhaft, warum es mit MacOS 11.x nicht mehr geht (die Messages anderer Rechner kommen auf dem MacOS-System nicht mehr an).

Noch nicht probiert, hatte das jetzt erst mal nur für Android gemacht, für IOS war es nicht so drängend, weil ich es irgendwie für die IOS-Version geschafft habe, eine iCloud-Speicherung zu integrieren...

Wobei ich jetzt schon nicht mehr wüsste, wie genau. Wie man ja merkt, beschäftige ich mich mit den mobilen Versionen immer nur sporadisch (entweder wenn Apple meckert oder die Kunden).

Habe mir aber jetzt mal vorgenommen, das zu ändern und mindestens alle 3 Monate eine aktualisierte Version zu machen. Denn wenn man zu lange wartet, ändert sich einfach zu viel und hat dann einen verhältnismäßigen Mehraufwand...

Harry Stahl 6. Jun 2021 21:53

AW: Wie bringen User ihre Desktop-Daten einfach auf mobile Geräte?
 
Zitat:

Zitat von TurboMagic (Beitrag 1490768)
Zitat:

Zitat von Harry Stahl (Beitrag 1490747)
Also

Also android-23 muss in android-19 geändert werden.
Das ist die API Version.
Und 64 Bit musst du nicht ändern wenn du nur für
32 Bit compilierst. Nur reine 32 Bit Versionen
kannst du halt nicht mehr in Google Play einreichen.

Also ich hatte mal die Einstellungen von Delphi 10.3.3 genommen (exportiert und unter anderem Namen in Delphi 10.4.2 importiert) und auch die von himitsu genannte Änderung der SDK-Version in der Template-Datei vorgenommen.

Trotzdem funktioniert es nicht.

Das sind die Einstellungen, die mit 10.3.3 gehen, nicht aber mit 10.4.2:

Code:
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="">
  <PropertyGroup>
    <Profile_platform>Android</Profile_platform>
    <Profile_host>localhost</Profile_host>
    <Profile_port>64211</Profile_port>
    <Profile_sdkname>D1033-AndroidSDK25.2.5_32bit.sdk</Profile_sdkname>
    <Profile_displayname>D1033-Android SDK 25.2.5 32bit</Profile_displayname>
    <Profile_version>25.2.5</Profile_version>
    <Profile_sysroot>C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-sdk-windows</Profile_sysroot>
    <NDKArmLinuxAndroidFile>C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\bin\arm-linux-androideabi-ld.exe</NDKArmLinuxAndroidFile>
    <NDKArmLinuxAndroidStripFile>C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-ndk-r9c\toolchains\arm-linux-androideabi-4.8\prebuilt\windows\bin\arm-linux-androideabi-strip.exe</NDKArmLinuxAndroidStripFile>
    <NDKApiPath>C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-ndk-r9c\platforms\android-19</NDKApiPath>
    <NDKBasePath>C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-ndk-r9c</NDKBasePath>
    <NDKGdbServerPath>C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-ndk-r9c\prebuilt\android-arm\gdbserver\gdbserver</NDKGdbServerPath>
    <SDKZipAlignPath>C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-sdk-windows\build-tools\22.0.1\zipalign.exe</SDKZipAlignPath>
    <SDKAndroidPath>C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-sdk-windows\tools\Android.bat</SDKAndroidPath>
    <SDKAdbPath>C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-sdk-windows\platform-tools\Adb.exe</SDKAdbPath>
    <SDKAaptPath>C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-sdk-windows\build-tools\22.0.1\aapt.exe</SDKAaptPath>
    <SDKApiLevelPath>C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-sdk-windows\platforms\android-28\android.jar</SDKApiLevelPath>
    <JDKPath>C:\Program Files\Java\jdk1.8.0_66</JDKPath>
    <JDKJarsignerPath>C:\Program Files\Java\jdk1.8.0_66\bin\JarSigner.exe</JDKJarsignerPath>
    <JDKKeyToolPath>C:\Program Files\Java\jdk1.8.0_66\bin\KeyTool.exe</JDKKeyToolPath>
    <DelphiNDKLibraryPath>C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-ndk-r9c\sources\cxx-stl\gnu-libstdc++\4.8\libs\armeabi-v7a;C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-ndk-r9c\platforms\android-19\arch-arm\usr\lib</DelphiNDKLibraryPath>
    <CBuilderNDKLibraryPath>C:\Users\Public\Documents\Embarcadero\Studio\19.0\PlatformSDKs\android-ndk-r9c\platforms\android-19\arch-arm\usr\lib</CBuilderNDKLibraryPath>
    <GnuSTLVersion>4.8</GnuSTLVersion>
    <Profile_password>AB1401D23AF8F3C66832CE6040E1FA2D</Profile_password>
  </PropertyGroup>
</Project>

TurboMagic 7. Jun 2021 22:15

AW: Wie bringen User ihre Desktop-Daten einfach auf mobile Geräte?
 
Habe es heute mit 10.4.2 erfolgreich probiert.
Komisch dass es bei dir nicht geht.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:08 Uhr.
Seite 7 von 7   « Erste     567   

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz