Mercurial > projects > dwt-win
diff dwt/ole/win32/Variant.d @ 212:ab60f3309436
reverted the char[] to String and use the an alias.
author | Frank Benoit <benoit@tionex.de> |
---|---|
date | Mon, 05 May 2008 00:12:38 +0200 |
parents | 619faee45ef6 |
children | fd9c62a2998e |
line wrap: on
line diff
--- a/dwt/ole/win32/Variant.d Sat Apr 26 10:01:48 2008 +0200 +++ b/dwt/ole/win32/Variant.d Mon May 05 00:12:38 2008 +0200 @@ -25,6 +25,7 @@ import tango.util.Convert; import tango.text.convert.Format; +import dwt.dwthelper.utils; /** * @@ -49,12 +50,12 @@ private bool booleanData; private byte byteData; private short shortData; - private char charData; + private wchar charData; private int intData; private long longData; private float floatData; private double doubleData; - private char[] stringData; + private String stringData; private void* byRefPtr; private IDispatch dispatchData; private IUnknown unknownData; @@ -216,7 +217,7 @@ * @param string the Java String value that this Variant represents * */ -public this(char[] string) { +public this(String string) { type = COM.VT_BSTR; stringData = string; } @@ -448,7 +449,7 @@ * * @since 3.3 */ -public char getChar() { +public wchar getChar() { if (type is COM.VT_EMPTY) { OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1); } @@ -739,7 +740,7 @@ * <li>ERROR_CANNOT_CHANGE_VARIANT_TYPE when type of Variant can not be coerced into a String</li> * </ul> */ -public char[] getString() { +public String getString() { if (type is COM.VT_EMPTY) { OLE.error(OLE.ERROR_CANNOT_CHANGE_VARIANT_TYPE, -1); } @@ -922,7 +923,7 @@ shortData = newShortData[0]; break; case COM.VT_UI2 : - char[1] newCharData; + wchar[1] newCharData; COM.MoveMemory(newCharData.ptr, pData + 8, 2); charData = newCharData[0]; break; @@ -1011,24 +1012,24 @@ * * @return a string representation of the Variant */ -public char[] toString () { +public String toString () { switch (type) { case COM.VT_BOOL : - return "VT_BOOL{"~to!(char[])(booleanData)~"}"; + return "VT_BOOL{"~to!(String)(booleanData)~"}"; case COM.VT_I1 : - return "VT_I1{"~to!(char[])(byteData)~"}"; + return "VT_I1{"~to!(String)(byteData)~"}"; case COM.VT_I2 : - return "VT_I2{"~to!(char[])(shortData)~"}"; + return "VT_I2{"~to!(String)(shortData)~"}"; case COM.VT_UI2 : - return "VT_UI2{"~charData~"}"; + return "VT_UI2{"~ dcharToString(charData) ~"}"; case COM.VT_I4 : - return "VT_I4{"~to!(char[])(intData)~"}"; + return "VT_I4{"~to!(String)(intData)~"}"; case COM.VT_I8 : - return "VT_I8{"~to!(char[])(longData)~"}"; + return "VT_I8{"~to!(String)(longData)~"}"; case COM.VT_R4 : - return "VT_R4{"~to!(char[])(floatData)~"}"; + return "VT_R4{"~to!(String)(floatData)~"}"; case COM.VT_R8 : - return "VT_R8{"~to!(char[])(doubleData)~"}"; + return "VT_R8{"~to!(String)(doubleData)~"}"; case COM.VT_BSTR : return "VT_BSTR{"~stringData~"}"; case COM.VT_DISPATCH : @@ -1044,6 +1045,6 @@ if ((type & COM.VT_BYREF) !is 0) { return Format("VT_BYREF|{}{{{}}",(type & ~COM.VT_BYREF), byRefPtr ); } - return "Unsupported Type "~to!(char[])(type); + return "Unsupported Type "~to!(String)(type); } }