Jump to content

philipp.hofmann

Members
  • Content Count

    69
  • Joined

  • Last visited

Community Reputation

5 Neutral

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. philipp.hofmann

    Android 10 + SD-Card: .../Android/media/[appName] is not created

    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;
  2. 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
  3. philipp.hofmann

    iOS: Black Screen after start with "More Space" setting

    Skia4Delphi team confirmed a regression error here.
  4. philipp.hofmann

    iOS: Black Screen after start with "More Space" setting

    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
  5. philipp.hofmann

    iOS: Black Screen after start with "More Space" setting

    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.
  6. philipp.hofmann

    iOS: Black Screen after start with "More Space" setting

    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".
  7. 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
  8. 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.
  9. 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.
  10. It's 100% fine with the Windows sample with the same code.
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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
×