Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »FOGX« (15.09.2010, 17:27)
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »FOGX« (15.09.2010, 17:27)
Quellcode |
|
1 2 3 4 5 |
#if defined( IRGENDETWAS_EXPORT ) #define IRGENDETWAS_API __declspec( dllexpor t) #else #define IRGENDETWAS_API __declspec( dllimport ) #endif |
Zitat von »"FOGX"«
In der DLL sind nur drei Funktionen, keine Klasse.
C-/C++-Quelltext |
|
1 |
class __declspec(dllexport) CMeineKlasse
|
Zitat
FOGX hat folgendes geschrieben:
In der DLL sind nur drei Funktionen, keine Klasse.
du musst die klasse natürlich auch exportieren:
Code (C++):
class __declspec(dllexport) CMeineKlasse
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »FOGX« (15.09.2010, 17:27)
Quellcode |
|
1 2 3 4 5 |
/// Funktionszeiger typedef IPlugin* ( *CREATEPLUGIN )(); /// Exportfunktion aus den Plugins extern "C" __declspec( dllexport ) IPlugin* CreatePlugin(); |
Quellcode |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/// Lädt ein Plugin von einer Datei. bool CPluginManager::LoadPluginFromFile( const std::string& _rstrFilename ) { /// Lädt Plugin HMODULE h_dll = ::LoadLibrary( _rstrFilename.c_str() ); if ( 0 == h_dll ) return false; /// Funktionszeiger holen CREATEPLUGIN p_func = ( CREATEPLUGIN )::GetProcAddress( h_dll, "CreatePlugin" ); if ( 0 == p_func ) return false; /// Plugin erzeugen IPlugin* pcl_plugin = p_func(); if ( 0 == pcl_plugin ) return false; // irgendwas mit dem pcl_plugin machen :) return true; } |
Quellcode |
|
1 2 3 4 5 |
/// Exportfunktion. extern "C" __declspec(dllexport) IPlugin *CreatePlugin() { return new CZipFileSystemPlugin(); } |
Werbeanzeige