Einzelnen Beitrag anzeigen

taveuni

Registriert seit: 3. Apr 2007
Ort: Zürich
533 Beiträge
 
Delphi 11 Alexandria
 
#1

UTF8 als WideString an ActiveX (LPCTSTR)

  Alt 22. Mai 2012, 10:51
Hallo,
Ich bin am verzweifeln. Seit Tagen maile ich mit einer Entwicklerin ohne Ergebnis.
Diese pflegt ein ActiveX für deren Subsystem (geschrieben in C++). In diesem besteht seit Jahren eine Funktion
welche als Parameter einen Dateinamen enthält. Beim Import des ActiveX wird in der Typ Bibliothek seit Delphi6
(aktuell bin ich bei XE2) ein WideString definiert. Bisher war kein Problem auszumachen. Neu wird die Anlage
in China eingesetzt und es können auch chinesische Dateinamen übergeben werden.
Ich hoffte mit XE2 diesbezüglich ohne Modifikationen auszukommen.

Nun: Intern wird das ActiveX scheinbar ohne "define Unicode" kompiliert.
Deshalb ist der vom ActiveX erwartete Datentyp ein 8Bit LPCSTR.
http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx
Also eigentlich ein Array of Char in UTF8 kodierung.

Soweit so gut - Die einzige Möglichkeit welche ich gesehen habe ist den Parameter so zu übergeben: UTF8Encode(DelphiUnicodeString).
Im Debugger des ActiveX sieht die Entwicklerin aber auch so nur ??? (siehe Screenshot)

Ist es auf der Basis überhaupt möglich das wir uns treffen?

Danke für jede Hilfe
Miniaturansicht angehängter Grafiken
debugger.jpg  
Die obige Aussage repräsentiert meine persönliche Meinung.
Diese erhebt keinen Anspruch auf Objektivität oder Richtigkeit.
  Mit Zitat antworten Zitat