Forum: Programmieren allgemein
C++
by Zacherl,
5. Okt 2018
Nee, du prüfst aber doch das hr dann mit dem SUCCEEDED() Makro. Das Problem ist, dass sowohl S_OK, als auch S_FALSE keinen Fehler indizieren, weshalb du immer true erhälst. Du musst nach dem SUCCEEDED() Check nochmal genau prüfen, also:
if SUCCEEDED(hr) then
begin
if (hr = S_OK) then
// String sollte etwas beinhalten
else if (hr = S_FALSE) then
// String sollte nil sein
...
Forum: Programmieren allgemein
C++
by Zacherl,
5. Okt 2018
Dann hätten wir wohl auch hier jetzt die korrekte Übersetzung :thumb:
Forum: Programmieren allgemein
C++
by Zacherl,
5. Okt 2018
Mhh, schwer zu sagen, was hier stimmt. Ich hatte ein paar Posts zuvor eine andere Definition gefunden. Das WideString kommt mir allerdings sehr komisch vor, da dies ein Delphi Typ mit Ref-Counter und allem drum und dran ist.
So oder so ist der Output Zeiger ja nil. Entsprechend der Dokumentation der Funktion ist das ja in Ordnung, falls S_FALSE zurückgeliefert wird. Jetzt kommt der Knackpunkt:...
Forum: Programmieren allgemein
C++
by Zacherl,
5. Okt 2018
Nene, das ist Murks :lol:
Forum: Programmieren allgemein
C++
by Zacherl,
5. Okt 2018
Achso, ne wenn muss es PWideChar sein. Denke sogar eher var PWideChar der Typdefinition nach zu schließen.
Forum: Programmieren allgemein
C++
by Zacherl,
4. Okt 2018
Habe leider auch nicht wirklich Ahnung, wie BSTR* definiert ist (die wäre wichtig), aber die Übersetzung als out string ist ziemlich sicher falsch (den Delphi String Typen kennt C++ nicht).