On Monday, 10 February 2014 at 17:08:27 UTC, Andre wrote:
Am 10.02.2014 17:53, schrieb Mike Parker:
On 2/11/2014 1:32 AM, Andre wrote:
Hi,

one hour trying to get a string out of LPOLESTR*.
What is the correct command to get rgszNames as string?

HRESULT GetIDsOfNames(REFIID riid, LPOLESTR* rgszNames, UINT cNames,
LCID lcid, DISPID* rgDispId){}

With following command I only get the first character
writeln(to!string(**rgszNames));

Kind regards
André

I would assume to!string(*rgszNames). Assuming LPOLESTR is char* or some such, then LPOLESTR** is char**, so **LPOLESTR would be the first character in the string, and *LPOLESTR would be the char* string.


to!string(*rgszNames) outputs a number instead of a name.
I think I am a step further, rgszNames is an array but also with to!string(*rgszNames[0]) only the first character of my method is given back.

Kind regards
André

std.conv.to knows about char* c-style strings, but not wchar* c-style strings like LPOLESTR. The number you are getting is the pointer to the first wchar.

I'm not sure what is the best way to do this as it's not something I've come across before, hopefully someone else will know.

Reply via email to