Improve SAFEARRAY support in wxMSW OLE Automation code.

Add a new wxSafeArray<> class wrapping SAFEARRAY.

Also add support for converting VARIANTs containing other, previously
unsupported, standard types.

Closes #14637.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@72543 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2012-09-23 22:49:50 +00:00
parent 2abce4af22
commit 226fa6db3d
18 changed files with 989 additions and 159 deletions

View File

@@ -1787,6 +1787,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_dropsrc.obj \
$(OBJS)\monodll_droptgt.obj \
$(OBJS)\monodll_oleutils.obj \
$(OBJS)\monodll_safearray.obj \
$(OBJS)\monodll_palette.obj \
$(OBJS)\monodll_pen.obj \
$(OBJS)\monodll_popupwin.obj \
@@ -2061,6 +2062,7 @@ ____CORE_SRC_FILENAMES_OBJECTS = \
$(OBJS)\monodll_dropsrc.obj \
$(OBJS)\monodll_droptgt.obj \
$(OBJS)\monodll_oleutils.obj \
$(OBJS)\monodll_safearray.obj \
$(OBJS)\monodll_palette.obj \
$(OBJS)\monodll_pen.obj \
$(OBJS)\monodll_popupwin.obj \
@@ -2576,6 +2578,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_dropsrc.obj \
$(OBJS)\monolib_droptgt.obj \
$(OBJS)\monolib_oleutils.obj \
$(OBJS)\monolib_safearray.obj \
$(OBJS)\monolib_palette.obj \
$(OBJS)\monolib_pen.obj \
$(OBJS)\monolib_popupwin.obj \
@@ -2850,6 +2853,7 @@ ____CORE_SRC_FILENAMES_1_OBJECTS = \
$(OBJS)\monolib_dropsrc.obj \
$(OBJS)\monolib_droptgt.obj \
$(OBJS)\monolib_oleutils.obj \
$(OBJS)\monolib_safearray.obj \
$(OBJS)\monolib_palette.obj \
$(OBJS)\monolib_pen.obj \
$(OBJS)\monolib_popupwin.obj \
@@ -3246,6 +3250,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_dropsrc.obj \
$(OBJS)\coredll_droptgt.obj \
$(OBJS)\coredll_oleutils.obj \
$(OBJS)\coredll_safearray.obj \
$(OBJS)\coredll_palette.obj \
$(OBJS)\coredll_pen.obj \
$(OBJS)\coredll_popupwin.obj \
@@ -3520,6 +3525,7 @@ ____CORE_SRC_FILENAMES_2_OBJECTS = \
$(OBJS)\coredll_dropsrc.obj \
$(OBJS)\coredll_droptgt.obj \
$(OBJS)\coredll_oleutils.obj \
$(OBJS)\coredll_safearray.obj \
$(OBJS)\coredll_palette.obj \
$(OBJS)\coredll_pen.obj \
$(OBJS)\coredll_popupwin.obj \
@@ -3792,6 +3798,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_dropsrc.obj \
$(OBJS)\corelib_droptgt.obj \
$(OBJS)\corelib_oleutils.obj \
$(OBJS)\corelib_safearray.obj \
$(OBJS)\corelib_palette.obj \
$(OBJS)\corelib_pen.obj \
$(OBJS)\corelib_popupwin.obj \
@@ -4066,6 +4073,7 @@ ____CORE_SRC_FILENAMES_3_OBJECTS = \
$(OBJS)\corelib_dropsrc.obj \
$(OBJS)\corelib_droptgt.obj \
$(OBJS)\corelib_oleutils.obj \
$(OBJS)\corelib_safearray.obj \
$(OBJS)\corelib_palette.obj \
$(OBJS)\corelib_pen.obj \
$(OBJS)\corelib_popupwin.obj \
@@ -7442,6 +7450,11 @@ $(OBJS)\monodll_oleutils.obj: ..\..\src\msw\ole\oleutils.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\ole\oleutils.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_safearray.obj: ..\..\src\msw\ole\safearray.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\ole\safearray.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monodll_palette.obj: ..\..\src\msw\palette.cpp
$(CXX) -q -c -P -o$@ $(MONODLL_CXXFLAGS) ..\..\src\msw\palette.cpp
@@ -9863,6 +9876,11 @@ $(OBJS)\monolib_oleutils.obj: ..\..\src\msw\ole\oleutils.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\ole\oleutils.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_safearray.obj: ..\..\src\msw\ole\safearray.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\ole\safearray.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\monolib_palette.obj: ..\..\src\msw\palette.cpp
$(CXX) -q -c -P -o$@ $(MONOLIB_CXXFLAGS) ..\..\src\msw\palette.cpp
@@ -12248,6 +12266,11 @@ $(OBJS)\coredll_oleutils.obj: ..\..\src\msw\ole\oleutils.cpp
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\ole\oleutils.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_safearray.obj: ..\..\src\msw\ole\safearray.cpp
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\ole\safearray.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\coredll_palette.obj: ..\..\src\msw\palette.cpp
$(CXX) -q -c -P -o$@ $(COREDLL_CXXFLAGS) ..\..\src\msw\palette.cpp
@@ -13663,6 +13686,11 @@ $(OBJS)\corelib_oleutils.obj: ..\..\src\msw\ole\oleutils.cpp
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\ole\oleutils.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_safearray.obj: ..\..\src\msw\ole\safearray.cpp
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\ole\safearray.cpp
!endif
!if "$(USE_GUI)" == "1"
$(OBJS)\corelib_palette.obj: ..\..\src\msw\palette.cpp
$(CXX) -q -c -P -o$@ $(CORELIB_CXXFLAGS) ..\..\src\msw\palette.cpp