AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Probleme bei der String-Konvertierung

Ein Thema von skoschke · begonnen am 15. Feb 2021 · letzter Beitrag vom 18. Feb 2021
Antwort Antwort
Seite 1 von 2  1 2      
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#1

Probleme bei der String-Konvertierung

  Alt 15. Feb 2021, 11:01
Delphi-Version: 5
Hallo,

ich benutze die Debenu Foxit PDF-Library unter Windows und unter Android.
Die Keys zur Freischaltung funktionieren unter Windows, nicht aber unter Android.

Die Entwickler haben mir folgendes geantwortet:

Because of this the ".so" file expects 32-bit character strings as input.
But you are using the ".so" file in Delphi and Delphi by default uses 16-bit character strings.
So in order to make it work in delphi you have to convert the license key string to 32-bit character set.

Mein Code ist momentan:
Delphi-Quellcode:
var
key : string;
begin
key := 'js5me41f8di7as31z7nd8ob4y';
....

wie bekomme ich den key in ein 32-bit character set?

Danke
Ciao
Stefan
  Mit Zitat antworten Zitat
DieDolly

Registriert seit: 22. Jun 2018
2.175 Beiträge
 
#2

AW: Probleme bei der String-Konvertierung

  Alt 15. Feb 2021, 11:59
Ich kenne mich damit nicht gut aus. Aber Delphi und standardmäßig 16-bit-Charakter-Strings?
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#3

AW: Probleme bei der String-Konvertierung

  Alt 15. Feb 2021, 12:16
Ich kenne mich damit nicht gut aus. Aber Delphi und standardmäßig 16-bit-Charakter-Strings?
Seit Delphi 2009 gilt: 16-Bit = 2 Byte = Sizeof(Char)
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
650 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Probleme bei der String-Konvertierung

  Alt 15. Feb 2021, 13:14
Delphi enthält eine Unit System.Character.pas. Darin gibt es TCharacter.ConvertToUtf32. Damit sollte es eigentlich möglich sein, deinen Delphi String in einen UCS-4 32 Bit String zu konvertieren.
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#5

AW: Probleme bei der String-Konvertierung

  Alt 15. Feb 2021, 13:36
So etwa in der Art:
Delphi-Quellcode:
var
  key: string;
  key4: UCS4String;
  I: Integer;
begin
  key := 'js5me41f8di7as31z7nd8ob4y';
  SetLength(key4, Length(key));
  for I := 0 to key.Length - 1 do begin
    key4[I] := key.Chars[I].ToUCS4Char;
  end;
end;
Wie man das dann aber weitergibt kann ich auch nicht sagen. Wie sieht das denn unter Windows aus?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#6

AW: Probleme bei der String-Konvertierung

  Alt 15. Feb 2021, 17:21
Delphi-Referenz durchsuchenWideStringToUCS4String aus http://docwiki.embarcadero.com/RADSt...erungsroutinen

Demo: http://docwiki.embarcadero.com/CodeE...rsion_(Delphi)



Theoretisch hätte man natürlich zuerst Denken können, man nehme einfach TEncoding/MultiByteToWideChar und erzeuge codiere damit die Bytes für UCS-4 bzw. UTF-32, aber
https://stackoverflow.com/questions/...01-12000-12001
$2B or not $2B

Geändert von himitsu (15. Feb 2021 um 17:26 Uhr)
  Mit Zitat antworten Zitat
skoschke

Registriert seit: 6. Jan 2009
523 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Probleme bei der String-Konvertierung

  Alt 16. Feb 2021, 10:14
key4[I] := key.Chars[I].ToUCS4Char; funktioniert leider nicht!
[DCC Fehler] Unit5.pas(63): E2018 Record, Objekt oder Klassentyp erforderlich
[DCC Fehler] Unit5.pas(76): E2010 Inkompatible Typen: 'string' und 'UCS4String'

Unter Windows läßt sich die Foxit Library problemlos freischalten.

Was ich aber auch noch festgestellt habe:
Alles funktioniert mit "normalem String" unter Delphi 10.3.3, die Probleme gibt es dann unter Delphi 10.4.1!

Nur muss ich Delphi 10.4.1 benutzen um auch Android 11 Devices unterstützen zu können, mit 10.3.3 compiliert schließen sich die Apps unter Android 11 sofort nach Start wieder!

Ciao
Stefan
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.475 Beiträge
 
Delphi 12 Athens
 
#8

AW: Probleme bei der String-Konvertierung

  Alt 16. Feb 2021, 10:35
key4[I] := key.Chars[I].ToUCS4Char; funktioniert leider nicht!
[DCC Fehler] Unit5.pas(63): E2018 Record, Objekt oder Klassentyp erforderlich
[DCC Fehler] Unit5.pas(76): E2010 Inkompatible Typen: 'string' und 'UCS4String'
Hast du System.Character in der uses-Anweisung?

Und was steht in Zeile 76?
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#9

AW: Probleme bei der String-Konvertierung

  Alt 16. Feb 2021, 13:30
In der Dokumentation steht WideString als Datentyp:

Zitat von debenu:
function TDebenuPDFLibrary1811.UnlockKey(LicenseKey: WideString): Integer;
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Rolf Frei

Registriert seit: 19. Jun 2006
650 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Probleme bei der String-Konvertierung

  Alt 16. Feb 2021, 16:53
Dann ist aber die Doku und die Interfacdeklaration zur DLL ziemlich falsch. Sowohl WideString als auch wchar_t (C++) ist ein 16 Bit String und nicht UCS4 32 Bit.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:27 Uhr.
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