Added wxDECLARE_ANY_TYPE(CLS, DECL) and documented for what kind of situation it is intended: wxAny used across DLL and EXE boundaries.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@62230 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Jaakko Salli
2009-10-03 10:43:21 +00:00
parent 0b07302b41
commit c5fe6a5bee
3 changed files with 70 additions and 0 deletions

View File

@@ -63,6 +63,25 @@
Note that pointers to any and all classes are already automatically
declared as movable data.
@warning Caveat with shared libraries (DLLs): If you have a scenario where
you use wxAny across application's shared library and application
itself (or, with another of your shared libraries), then you must
use wxDECLARE_ANY_TYPE() macro in your shared library code to
correctly make sure that the wxAnyValueType implementation is
generated correctly. Failure to do this will result in breakage
of the wxAny type recognition with type in question. Below is an
example how to use the macro.
@code
// In your shared library/DLL-only
wxDECLARE_ANY_TYPE(MyClass, WXEXPORT)
// In your shared library/DLL source code
WX_IMPLEMENT_ANY_VALUE_TYPE(wxAnyValueTypeImpl<MyClass>)
// In code using said shared library/DLL
wxDECLARE_ANY_TYPE(MyClass, WXIMPORT)
@endcode
@library{wxbase}
@category{data}