

philipp.hofmann
Members-
Content Count
69 -
Joined
-
Last visited
Community Reputation
5 NeutralRecent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
-
Android 10 + SD-Card: .../Android/media/[appName] is not created
philipp.hofmann replied to philipp.hofmann's topic in Cross-platform
Thanks to @jaenicke It's necessary now to ask once for Context.getExternalMediaDirs open the path once and then the directory is created on SD card again. This was not necessary before. uses Androidapi.JNIBridge, Androidapi.JNI.JavaTypes, Androidapi.JNI.GraphicsContentViewText, Androidapi.Helpers; function GetExternalMediaPath: string; var Context: JContext; mediaDirs: TJavaObjectArray<JFile>; mediaDir: JFile; begin Result := ''; Context := TJContext.Wrap(SharedActivity); if Context <> nil then begin mediaDirs := Context.getExternalMediaDirs; if (mediaDirs <> nil) and (mediaDirs.Length > 0) then begin mediaDir := mediaDirs.Items[0]; if mediaDir <> nil then Result := JStringToString(mediaDir.getAbsolutePath); end; end; end; -
Android 10 + SD-Card: .../Android/media/[appName] is not created
philipp.hofmann posted a topic in Cross-platform
Hi, I'm currently migrating from Delphi 12.1 to Delphi 12.3. I noticed that the directory .../Android/media/[appName] is no longer created on the SD card (same code, only compiled with Delphi 12.3), at least on my Android 10 tablet. The directory .../Android/data/[appName] is there. I can't see any difference in the manifest file (see attachment). The only thing that is also noticeable is that with the Delphi 12.1 version I don't have to call PermissionsService.RequestPermissions for READ_EXTERNAL_STORAGE and WRITE_EXTERNAL_STORAGE at all and it still works. In the Delphi 12.3 version, I need to call it. Does anyone know more about it. I've already ordered an Android 13 tablet. If this is only an Android<=10 problem, it might be bearable, but it is still a good 16 percent of users for tablets. Best regards, Philipp AndroidManifest.Delphi12.1.xml AndroidManifest.Delphi12.3.xml -
iOS: Black Screen after start with "More Space" setting
philipp.hofmann replied to philipp.hofmann's topic in Cross-platform
Skia4Delphi team confirmed a regression error here. -
iOS: Black Screen after start with "More Space" setting
philipp.hofmann replied to philipp.hofmann's topic in Cross-platform
It's a combination: I've reinstalled now an iPad Pro 11" (3rd Gen) - and uses the biggest display - additional I set the "Display Zoom" -> "More Space" setting. - if I use SKIA - and I set GlobalUseMetal := true; the display is black in my project or minimum totally confused. It's reproducable with a simple project. So I can sent it to the SKIA guys to clarify. iOSMoreSurface.zip -
iOS: Black Screen after start with "More Space" setting
philipp.hofmann replied to philipp.hofmann's topic in Cross-platform
O, this seems to be a smartphone display. It seems to be different on tablets. I've rent a iPad Pro 11 now for one month and will check if I can reproduce and solve the error there. -
iOS: Black Screen after start with "More Space" setting
philipp.hofmann replied to philipp.hofmann's topic in Cross-platform
The last two customers uses iOS 17. But interesting, how you can choose "Larger Text" on iOS? On my iPad Air I can set the "Text Size" with a track bar (tested also with large text) and "Bold text" and "Display Zoom". But there is no setting "Larger Text". -
iOS: Black Screen after start with "More Space" setting
philipp.hofmann posted a topic in Cross-platform
Hi, I have the problem that for some customers, the app only appears as a black screen on iOS. This happens exactly when in the settings under "Display&Brightness" > "Display Zoom" -> "More Area" is selected (the alternative is "Standard"). With "Standard" the app appears correct. I can't figured out what's different here yet, because my iOS devices don't have this issue. Maybe someone knows the problem and, in the best case, the solution. Best regards, Philipp -
How to initialize OpenSSL with MacOS 64 (x86 and ARM)?
philipp.hofmann replied to philipp.hofmann's topic in ICS - Internet Component Suite
Same effect with Version 8.68, so again I assume there is some additional piece of code necessary to initialize the MacOS-version of ICS but both of us don't know this part. -
How to initialize OpenSSL with MacOS 64 (x86 and ARM)?
philipp.hofmann replied to philipp.hofmann's topic in ICS - Internet Component Suite
I've found only one difference here and this could not be an issue for MacOS: {$IFDEF ANDROID} {$MESSAGE 'TODO processmessage loop'} Result := False; // Error { V9.1 } {$ENDIF ANDROID} But I've checked the reason for the blocker in function TMultiReadExclusiveWriteSynchronizer.BeginWrite: Boolean; is the line as here it's not coming back: WaitForWriteSignal; P.S.: TIcsMessagePump.ProcessMessage is not reached under MacOS, if this could be an issue here. P.P.S.: I assume it's an initialisation issue if such a central functionality as WaitForWriteSignal is not working and processMessage is not requested at all. But I don't know what to test further. -
How to initialize OpenSSL with MacOS 64 (x86 and ARM)?
philipp.hofmann replied to philipp.hofmann's topic in ICS - Internet Component Suite
It's 100% fine with the Windows sample with the same code. -
How to initialize OpenSSL with MacOS 64 (x86 and ARM)?
philipp.hofmann replied to philipp.hofmann's topic in ICS - Internet Component Suite
I have deactivated GlobalSync now first. That's fine for me. But can you fix also the "SSL handshake faild - No error returned, State: SSLv3/TLS write client hello, connection closed unexpectedly" issue? This is currently my blocker. -
How to initialize OpenSSL with MacOS 64 (x86 and ARM)?
philipp.hofmann replied to philipp.hofmann's topic in ICS - Internet Component Suite
Now my problem is the request TSSLSmtpCli.create(nil); or also TSSLSmtpCli.create(mainForm); freezes in procedure TIcsMessagePump.AfterConstruction; with the following request: GlobalSync.BeginWrite; But even if I remove GlobalSync.BeginWrite at all SSLSmtpCli.connect is not reacting as expected as "SSL handshake faild - No error returned, State: SSLv3/TLS write client hello, connection closed unexpectedly" is raise after 60 seconds. The same implementation works fine under Windows. P.S.: I was misleading by https://wiki.overbyte.eu/wiki/index.php/ICS_Download as there is a MacOS support mentioned for ICS-V9. -
USING ICS V9 on Delphi 12 on MacOS -- FREEZING
philipp.hofmann replied to BytePlayer's topic in ICS - Internet Component Suite
Now my problem is the request TSSLSmtpCli.create(nil); or also TSSLSmtpCli.create(mainForm); freezes in procedure TIcsMessagePump.AfterConstruction; with the following request: GlobalSync.BeginWrite; But even if I remove GlobalSync.BeginWrite at all SSLSmtpCli.connect is not reacting as expected as SslSmtpClient.OnRequestDone is never reached. -
How to initialize OpenSSL with MacOS 64 (x86 and ARM)?
philipp.hofmann replied to philipp.hofmann's topic in ICS - Internet Component Suite
OverbyteIcsSSLEAY.pas: You should use the following file names for 300DLL_Name (so no /usr/lib-path in the filename plus adding version number): {$IFDEF POSIX}'libcrypto.3.dylib';{$ELSE} { !!!! not tested, unknown file name } {$IFDEF POSIX}'libssl.3.dylib';{$ELSE} OverbyteIcsLIBEAY.pas: It works if I uncomment @@RAND_screen in the table (and reduce the number by 1): GLIBEAYImports1: array[0..852] of TOSSLImports = ( // (F: @@RAND_screen; N: 'RAND_screen'; MI: OSSL_VER_MIN; MX: OSSL_VER_MAX), I saw afterwards the correct OpenSSL-Version number with OpenSSL_version(0) -> 3.2.1 But there is still a problem in initialization of TSSLSmtpCli.create(nil); It's working fine unter Windows again. So I will check this as the next point. So I'm not sure if my idea to replace Indy-TIDSMTP with ICS-TSSLSmtpCli to support MacOS64-ARM was so good because I can't find MacOS-ARM-Libraries for OpenSSL-1.0.x. -
How to initialize OpenSSL with MacOS 64 (x86 and ARM)?
philipp.hofmann replied to philipp.hofmann's topic in ICS - Internet Component Suite
The first thing I found now, you need: GSSL_PUBLIC_DIR:=TPath.GetDirectoryName(ParamStr(0)); IcsLoadSsl(); And you need to deploy to Contents\MacOS\usr\lib But now I get the error Can not find: RAND_screen