git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29957 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
		
			
				
	
	
		
			146 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			146 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | |
| %% Name:        dynlib.tex
 | |
| %% Purpose:     wxDynamicLibrary documentation
 | |
| %% Author:      Vadim Zeitlin
 | |
| %% Modified by:
 | |
| %% Created:     14.01.02 (extracted from dllload.tex)
 | |
| %% RCS-ID:      $Id$
 | |
| %% Copyright:   (c) Vadim Zeitlin
 | |
| %% License:     wxWidgets license
 | |
| %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 | |
| 
 | |
| \section{\class{wxDynamicLibrary}}\label{wxdynamiclibrary}
 | |
| 
 | |
| wxDynamicLibrary is a class representing dynamically loadable library
 | |
| (Windows DLL, shared library under Unix etc.). Just create an object of
 | |
| this class to load a library and don't worry about unloading it -- it will be
 | |
| done in the objects destructor automatically.
 | |
| 
 | |
| % deprecated now...
 | |
| %
 | |
| %\wxheading{See also}
 | |
| %
 | |
| %\helpref{wxDllLoader}{wxdllloader}
 | |
| 
 | |
| 
 | |
| 
 | |
| \membersection{wxDynamicLibrary::wxDynamicLibrary}\label{wxdynamiclibrarywxdynamiclibrary}
 | |
| 
 | |
| \func{}{wxDynamicLibrary}{\void}
 | |
| 
 | |
| \func{}{wxDynamicLibrary}{\param{const wxString\& }{name}, \param{int }{flags = wxDL\_DEFAULT}}
 | |
| 
 | |
| Constructor. Second form calls \helpref{Load}{wxdynamiclibraryload}.
 | |
| 
 | |
| 
 | |
| \membersection{wxDynamicLibrary::CanonicalizeName}\label{wxdynamiclibrarycanonicalizename}
 | |
| 
 | |
| \func{wxString}{CanonicalizeName}{\param{const wxString\& }{name}, \param{wxDynamicLibraryCategory}{ cat = wxDL\_LIBRARY}}
 | |
| 
 | |
| Returns the platform-specific full name for the library called \arg{name}. E.g.
 | |
| it adds a {\tt ".dll"} extension under Windows and {\tt "lib"} prefix and 
 | |
| {\tt ".so"}, {\tt ".sl"} or maybe {\tt ".dylib"} extension under Unix.
 | |
| 
 | |
| The possible values for \arg{cat} are:
 | |
| 
 | |
| \begin{twocollist}
 | |
|     \twocolitem{wxDL\_LIBRARY}{normal library}
 | |
|     \twocolitem{wxDL\_MODULE}{a loadable module or plugin}
 | |
| \end{twocollist}
 | |
| 
 | |
| \wxheading{See also}
 | |
| 
 | |
| \helpref{CanonicalizePluginName}{wxdynamiclibrarycanonicalizepluginname}
 | |
| 
 | |
| 
 | |
| 
 | |
| \membersection{wxDynamicLibrary::CanonicalizePluginName}\label{wxdynamiclibrarycanonicalizepluginname}
 | |
| 
 | |
| \func{wxString}{CanonicalizePluginName}{\param{const wxString\& }{name}, \param{wxPluginCategory}{ cat = wxDL\_PLUGIN\_GUI}}
 | |
| 
 | |
| This function does the same thing as 
 | |
| \helpref{CanonicalizeName}{wxdynamiclibrarycanonicalizename} but for wxWidgets
 | |
| plugins. The only difference is that compiler and version information are added
 | |
| to the name to ensure that the plugin which is going to be loaded will be
 | |
| compatible with the main program.
 | |
| 
 | |
| The possible values for \arg{cat} are:
 | |
| 
 | |
| \begin{twocollist}
 | |
|     \twocolitem{wxDL\_PLUGIN\_GUI}{plugin which uses GUI classes (default)}
 | |
|     \twocolitem{wxDL\_PLUGIN\_BASE}{plugin which only uses wxBase}
 | |
| \end{twocollist}
 | |
| 
 | |
| 
 | |
| \membersection{wxDynamicLibrary::Detach}\label{wxdynamiclibrarydetach}
 | |
| 
 | |
| \func{wxDllType}{Detach}{\void}
 | |
| 
 | |
| Detaches this object from its library handle, i.e. the object will not unload
 | |
| the library any longer in its destructor but it is now the callers
 | |
| responsability to do this using \helpref{Unload}{wxdynamiclibraryunload}.
 | |
| 
 | |
| 
 | |
| \membersection{wxDynamicLibrary::GetSymbol}\label{wxdynamiclibrarygetsymbol}
 | |
| 
 | |
| \constfunc{void *}{GetSymbol}{\param{const wxString\& }{name}}
 | |
| 
 | |
| Returns pointer to symbol {\it name} in the library or NULL if the library
 | |
| contains no such symbol.
 | |
| 
 | |
| \wxheading{See also}
 | |
| 
 | |
| \helpref{wxDYNLIB\_FUNCTION}{wxdynlibfunction}
 | |
| 
 | |
| 
 | |
| \membersection{wxDynamicLibrary::HasSymbol}\label{wxdynamiclibraryhassymbol}
 | |
| 
 | |
| \constfunc{bool}{HasSymbol}{\param{const wxString\& }{name}}
 | |
| 
 | |
| Returns \true if the symbol with the given \arg{name} is present in the dynamic
 | |
| library, \false otherwise. Unlike \helpref{GetSymbol}{wxdynamiclibrarygetsymbol},
 | |
| this function doesn't log an error message if the symbol is not found.
 | |
| 
 | |
| \newsince{2.5.4}
 | |
| 
 | |
| 
 | |
| \membersection{wxDynamicLibrary::IsLoaded}\label{wxdynamiclibraryisloaded}
 | |
| 
 | |
| \constfunc{bool}{IsLoaded}{\void}
 | |
| 
 | |
| Returns \true if the library was successfully loaded, \false otherwise.
 | |
| 
 | |
| 
 | |
| \membersection{wxDynamicLibrary::Load}\label{wxdynamiclibraryload}
 | |
| 
 | |
| \func{bool}{Load}{\param{const wxString\& }{name}, \param{int }{flags = wxDL\_DEFAULT}}
 | |
| 
 | |
| Loads DLL with the given \arg{name} into memory. The \arg{flags} argument can
 | |
| be a combination of the following bits:
 | |
| 
 | |
| \begin{twocollist}
 | |
| \twocolitem{wxDL\_LAZY}{equivalent of RTLD\_LAZY under Unix, ignored elsewhere}
 | |
| \twocolitem{wxDL\_NOW}{equivalent of RTLD\_NOW under Unix, ignored elsewhere}
 | |
| \twocolitem{wxDL\_GLOBAL}{equivalent of RTLD\_GLOBAL under Unix, ignored elsewhere}
 | |
| \twocolitem{wxDL\_VERBATIM}{don't try to append the appropriate extension to
 | |
| the library name (this is done by default).}
 | |
| \end{twocollist}
 | |
| 
 | |
| Returns \true if the library was successfully loaded, \false otherwise.
 | |
| 
 | |
| 
 | |
| \membersection{wxDynamicLibrary::Unload}\label{wxdynamiclibraryunload}
 | |
| 
 | |
| \func{void}{Unload}{\void}
 | |
| 
 | |
| \func{static void}{Unload}{\param{wxDllType }{handle}}
 | |
| 
 | |
| Unloads the library from memory. wxDynamicLibrary object automatically calls
 | |
| this method from its destructor if it had been successfully loaded.
 | |
| 
 | |
| The second version is only used if you need to keep the library in memory
 | |
| during a longer period of time than the scope of the wxDynamicLibrary object.
 | |
| In this case you may call \helpref{Detach}{wxdynamiclibrarydetach} and store
 | |
| the handle somewhere and call this static method later to unload it.
 | |
| 
 |