mausmb
Members-
Content Count
55 -
Joined
-
Last visited
Everything posted by mausmb
-
With Delphi 12.1 I have a problem with building 32-bit Android APK (With Delphi 11 and delphi 12 same project everything working/build fine). DCC Error E2597 ..arm-linux-androideabi-ld.exe: error: cannot find -ldl DCC Error E2597 C:\Users\Public\Documents\Embarcadero\Studio\23.0\CatalogRepository\AndroidNDK-21-23.0.51961.7529\android-ndk-r21\toolchains\arm-linux-androideabi-4.9\prebuilt\windows-x86_64\bin\arm-linux-androideabi-ld.exe: error: cannot find -ldl Any idea how to find/solve that problem ? reproduction : Any Simple MultiDevice app ... and build for Android 32 Best regards, Marjan
-
Google Play requires Android 13 after 31. august !!!
mausmb replied to Hansβ«'s topic in Cross-platform
Hi, With Android Studio installed and SDK for API Level 33 .. is not working (for me). Because : 1. I have to manually edit AndroidManifest file ( <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="33" />). 2. It's working on Pixel 3 ... but not on Pixel 7 (app just close). 3. if I change same configuration to android:targetSdkVersion="32" ... it's working on Pixel 7. 4. I didn't find and know how to properly install latest NDK (gdbserver....) - so for all unknown's in NDK I left old path/files. Unkonowns : strip.exe is not ther ..llvm-strip.exe NDK API LEVEL LOCATION C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidNDK-21-22.0.48361.3236\android-ndk-r21\platforms\android-23 c++ builder NDK library path: C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidNDK-21-22.0.48361.3236\android-ndk-r21\platforms\android-23\arch-arm64\usr\lib Delphi ndk library path: C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidNDK-21-22.0.48361.3236\android-ndk-r21\sources\cxx-stl\llvm-libc++\libs\arm64-v8a;C:\Users\Public\Documents\Embarcadero\Studio\22.0\CatalogRepository\AndroidNDK-21-22.0.48361.3236\android-ndk-r21\platforms\android-23\arch-arm64\usr\lib If Anybody have working setup - please let me know where are those files π Regards, Marjan -
BLOG POST: My Top 3+1 features in the new RAD Studio 11.3 Alexandria
mausmb replied to Daniele Teti's topic in Tips / Blogs / Tutorials / Videos
Hi, Great .. I'm curious how do you solve Android biometric working on Android with Biometric privilega and activity/intents ? There a "bug" in Androidapi.JNI.Os.pas you can't call TJManifest_permission.JavaClass.USE_BIOMETRIC) (USE_BIOMETRIC is not included). in AndrodiManifgest.xml i have " <uses-permission android:name="android.permission.USE_BIOMETRIC" />" but nothing in Activity section. Regards, Marjan -
Delphi Android bluetooth_scan permission missing
mausmb replied to Mike Price's topic in Cross-platform
Hi, unit2.pas (C:\Users\Public\Documents\Embarcadero\Studio\22.0\Samples\Object Pascal\Multi-Device Samples\Device Sensors and Services\Bluetooth\Beacons\Beacons Proximity) LOCATION_PERMISSION = 'android.permission.ACCESS_FINE_LOCATION'; BLUETOOTH_SCAN_PERMISSION = 'android.permission.BLUETOOTH_SCAN'; BLUETOOTH_ADVERTISE_PERMISSION = 'android.permission.BLUETOOTH_ADVERTISE'; BLUETOOTH_CONNECT_PERMISSION = 'android.permission.BLUETOOTH_CONNECT'; if TOSVersion.Check(12) then Permissions := [LOCATION_PERMISSION, BLUETOOTH_SCAN_PERMISSION, BLUETOOTH_ADVERTISE_PERMISSION, BLUETOOTH_CONNECT_PERMISSION] else Permissions := [LOCATION_PERMISSION]; regards, mm -
B3B4BFBF67D02522F059BB610D9FA6A21D3042F2B45640C3E6A79AF2567B1327 with function ByteArrayToHexString(BA: TArray<Byte>; Sep: string = ''): string; var i, k: integer; begin result:=''; if Sep='' then begin for i:=low(BA) to high(BA) do result := result + IntToHex(BA, 2); end else begin k:=high(BA); for i:=low(BA) to k do begin result:= result + IntToHex(BA, 2); if k<>i then result := result + Sep; end; end; end;
-
Windows desktop client for verification of EU Covid-19 health certificates
mausmb replied to Daniel's topic in I made this
Now everything is ok ! regards, Marjan -
Windows desktop client for verification of EU Covid-19 health certificates
mausmb replied to Daniel's topic in I made this
Hi, Certificate invalid .. regards, Marjan -
Windows desktop client for verification of EU Covid-19 health certificates
mausmb replied to Daniel's topic in I made this
It's working π HowEver result is "certificate invalid" π regards, Marjan -
This solves all scenarios and local settings
-
Hi, Use System.SysUtils.FormatSettings.DecimalSeparator one example if FormatSettings.DecimalSeparator = ',' then LText := StringReplace(LText, '.', FormatSettings.DecimalSeparator, [rfReplaceAll]) else LText := StringReplace(LText, ',', FormatSettings.DecimalSeparator, [rfReplaceAll]); br, m
-
Fmx Rx10.4.2: Is Android compilation to APK32 and APK64 broken ?
mausmb replied to Rollo62's topic in Cross-platform
It's configuration... you can choose .. Application store - always generate AAB, develpomnet - APK -
Sdk version in AndroidManifest file and Rad Studio
mausmb replied to Alex Texera's topic in Delphi IDE and APIs
Hi, br, M -
Sdk version in AndroidManifest file and Rad Studio
mausmb replied to Alex Texera's topic in Delphi IDE and APIs
Hi, 1. You shouldn't put "targetSdkVersion" version in AndroidManifest file 2. You should upgrade to 10.4.2 (Automatic target version is 29) 3. My apps working with Android 11 (Pixel3, Pixel4,...) " android:requestLegacyExternalStorage="true" " it's only for specific purpose as @Rollo62 pointed out. (Migration storage files) AndroidManifest.template <?xml version="1.0" encoding="utf-8"?> <!-- BEGIN_INCLUDE(manifest) --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="%package%" android:versionCode="%versionCode%" android:versionName="%versionName%" android:installLocation="%installLocation%"> <!-- This is the platform API where NativeActivity was introduced. --> <uses-sdk android:minSdkVersion="%minSdkVersion%" android:targetSdkVersion="%targetSdkVersion%" /> <%uses-permission%> <uses-feature android:glEsVersion="0x00020000" android:required="True"/> <application android:persistent="%persistent%" android:restoreAnyVersion="%restoreAnyVersion%" android:label="%label%" android:debuggable="%debuggable%" android:largeHeap="%largeHeap%" android:requestLegacyExternalStorage="true" android:icon="%icon%" android:theme="%theme%" android:hardwareAccelerated="%hardwareAccelerated%"> <%application-meta-data%> <%services%> <!-- Our activity is a subclass of the built-in NativeActivity framework class. This will take care of integrating with our NDK code. --> <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" android:label="%activityLabel%" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" android:launchMode="singleTask"> <!-- Tell NativeActivity the name of our .so --> <meta-data android:name="android.app.lib_name" android:value="%libNameValue%" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <%activity%> <%receivers%> </application> </manifest> <!-- END_INCLUDE(manifest) --> AndroidManifest.xml generated from AndroidManifest.template <?xml version="1.0" encoding="utf-8"?> <!-- BEGIN_INCLUDE(manifest) --> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="si.ros.RosNZ" android:versionCode="28" android:versionName="1.1.0" android:installLocation="auto"> <!-- This is the platform API where NativeActivity was introduced. --> <uses-sdk android:minSdkVersion="23" android:targetSdkVersion="29" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" /> <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.NFC" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission android:name="android.permission.READ_PHONE_STATE" /> <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-feature android:glEsVersion="0x00020000" android:required="True"/> <application android:persistent="False" android:restoreAnyVersion="False" android:label="RosNZ" android:debuggable="False" android:largeHeap="False" android:requestLegacyExternalStorage="true" android:icon="@drawable/ic_launcher" android:theme="@style/AppTheme" android:hardwareAccelerated="true"> <!-- Our activity is a subclass of the built-in NativeActivity framework class. This will take care of integrating with our NDK code. --> <activity android:name="com.embarcadero.firemonkey.FMXNativeActivity" android:label="RosNZ" android:configChanges="orientation|keyboard|keyboardHidden|screenSize" android:launchMode="singleTask"> <!-- Tell NativeActivity the name of our .so --> <meta-data android:name="android.app.lib_name" android:value="TESTXXAPP" /> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <receiver android:name="com.embarcadero.rtl.notifications.NotificationAlarm" /> </application> </manifest> <!-- END_INCLUDE(manifest) --> Regards, Marjan -
Sdk version in AndroidManifest file and Rad Studio
mausmb replied to Alex Texera's topic in Delphi IDE and APIs
Hi, if you're using storage ... Android 11 have upgraded security in AndroidManifest.xml in section application add line android:requestLegacyExternalStorage="true" regards, M -
TServerSocket - TClientSocket Issue - Code from Delphi 7 from 2010
mausmb replied to mtjmohr's topic in Algorithms, Data Structures and Class Design
Uses System.Hash; .... var md5kont:ThashMD5; s1:string ... s1:=md5kont.GetHashString(mystringtohash); br, m -
Duplicate post
-
Hi, my temporary solution is : copiing files from delphi 10.3x to local App directory br, M
-
Vote for it ! https://quality.embarcadero.com/browse/RSP-30771 br, M
-
Hi, Problems : 1. with debuger (https://quality.embarcadero.com/browse/RSP-30772?filter=-4) - object inspector not working after first selection. 2. ListView "onchange" not fired/working with mouse and/or navigation keys (https://quality.embarcadero.com/browse/RSP-30771?filter=-4) br, m
-
Project With Same Source, Windows 7 Ok, Windows 10 Invalid Date Format
mausmb replied to stacker_liew's topic in General Help
Hi, Obviously "now" on Windows 10 is different .. Maybe you can go via DecodeDateTime(now,myYear,myMonth,myDay, myHour, myMin, mySec, myMilli) and then construct yours datetime formats Regards, m -
Hi, TFormatSettings.Create; FormatSettings.ShortDateFormat := 'dd.MM.yyyy'; // FormatSettings.LongDateFormat := 'dd.MM.yyyy'; // FormatSettings.DateSeparator := '.'; FormatSettings.ShortTimeFormat := 'hh:mm:ss'; // FormatSettings.LongTimeFormat := 'hh:mm:ss'; // regards, M
-
Something in this direction ? procedure ColorLabel(const pColor : TAlphaColor; const pString:String; mylabel:Tlabel); var prect:Trectangle; ptext:TText; begin 1. creation if mylabel.ChildrenCount=1 then begin // creating trrectangle on fly prect:=Trectangle.Create(mylabel); prect.Parent:=mylabel; prect.Align:=TAlignLayout.Client; prect.HitTest:=False; prect.Margins.Left:=-1; prect.Margins.Right:=-1; prect.Margins.Top:=-1; prect.Margins.Bottom:=-1; prect.Sides:=[]; // no borders prect.Fill.Color:=pColor; ptext:=TText.Create(mylabel); ptext.Parent:=prect; ptext.Align:=TAlignLayout.Client; ptext.Text:=pString; ptext.TextSettings:= mylabel.TextSettings; ptext.HitTest:=False; mylabel.Text:=''; end 2. changing color if mylabel.Children[1].ClassName=Trectangle.ClassName then Begin // change color (mylabel.Children[1] as Trectangle).Fill.Color:=pColor; // pCOlor is parameter for custom color if (mylabel.Children[1] as Trectangle).Children[0].classname=TText.classname then Begin // chanhe text ((mylabel.Children[1] as Trectangle).Children[0] as TTExt).Text:=pString; // pString is parameter for TEXT ((mylabel.Children[1] as Trectangle).Children[0] as TTExt).TextSettings.Fontcolor:=mylabel.TextSettings.Fontcolor; End; End; end; br, m
-
Hi, This code "qQuery.Open( 'SELECT * FROM tTableName WHERE Status IN ( :pS, :pR ) ORDER BY EventDate', [ 'S', 'R' ] );" can't work for a single or more than 2 parameters (just in case) Param1:='( 'S','R' )' Param2:='['S','R']' qQuery.Open( 'SELECT * FROM tTableName WHERE Status IN :Param1 ORDER BY EventDate, :Param2 ); I'm using that approach without Param2 (that part you should test it) regards, M
-
Hi, Fmx.VirtualKeyboard works fine with Android, but with Windows is unstable and slow .... Did Anybody made custom FMX keyboard for Windows ? Regards, marjan