Hallo,
hat schon mal jemand mit UNICODE-Strings gearbeitet und die versucht über eine CA an eine Funktion in einer DLL zu übergeben und evtl. auch wieder zurück?
Einfaches Beispiel wäre MessageBoxW.
Dank im voraus!
Johannes
This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.

UNICODE und Funktionsaufruf in CA
Started by
Johannes John
, Jan 22 2003 13:04
2 replies to this topic
Posted 13 February 2003 - 13:10
Wenn z.B. in C die Konstante UNICODE definiert ist, dann wird der Aufruf MsiGetProperty automaitsch auf die Unicode-Variante umgeleitet.
Alles bleibt wie es war, nur der Typ des Strings ist nicht mehr char sondern WCHAR oder TCHAR (und die Stringfunktionen muessen natuerlich UNICODE Tauglich sein).
Alles bleibt wie es war, nur der Typ des Strings ist nicht mehr char sondern WCHAR oder TCHAR (und die Stringfunktionen muessen natuerlich UNICODE Tauglich sein).
SD-Technologies GmbH
Macrovision Certified Training Partner.
More infomation at www.sd-technologies.de
Macrovision Certified Training Partner.
More infomation at www.sd-technologies.de
Posted 13 February 2003 - 13:58
Hallo Martin,
danke, für deine Antwort.
Hast du schon mal z.B. einen chinesischen Setup gemacht?
Die Möglichkeiten innerhalb der DLL sind klar, nur meine ersten Versuche z.B. die MessageBoxA bzw. W aus der USER32.DLL direkt in einer CA aufzurufen, haben nicht dazu geführt, dass ich die Vorgehensweise des WI verstehe.
Was z.B. kommt in einer DLL an, wenn ich ein Property als Parameter übergebe? Kommt da ASCII, MultiByte oder UNICODE an?
Und wenn ich mir den Wert der Property in der DLL über MsiGetPropertyW hole, kommt da was anderes raus als beim Aufrufparameter?
Ich werde demnächst entsprechende Versuche unternehmen!
Wohl denn!
Johannes
danke, für deine Antwort.
Hast du schon mal z.B. einen chinesischen Setup gemacht?
Die Möglichkeiten innerhalb der DLL sind klar, nur meine ersten Versuche z.B. die MessageBoxA bzw. W aus der USER32.DLL direkt in einer CA aufzurufen, haben nicht dazu geführt, dass ich die Vorgehensweise des WI verstehe.
Was z.B. kommt in einer DLL an, wenn ich ein Property als Parameter übergebe? Kommt da ASCII, MultiByte oder UNICODE an?
Und wenn ich mir den Wert der Property in der DLL über MsiGetPropertyW hole, kommt da was anderes raus als beim Aufrufparameter?
Ich werde demnächst entsprechende Versuche unternehmen!
Wohl denn!
Johannes