Gamestudio Links
Zorro Links
Newest Posts
Newbie Questions
by fairtrader. 12/05/23 14:22
Zorro Trader GPT
by TipmyPip. 12/04/23 11:34
Square root rule
by Smallz. 12/02/23 09:15
RTest not found error
by TipmyPip. 12/01/23 21:43
neural function for Python to [Train]
by TipmyPip. 12/01/23 14:47
Xor Memory Problem.
by TipmyPip. 11/28/23 14:23
Training with command line parameters
by TipmyPip. 11/26/23 08:42
Combine USD & BTC Pairs In Asset Loop
by TipmyPip. 11/26/23 08:30
AUM Magazine
Latest Screens
A psychological thriller game
SHADOW (2014)
DEAD TASTE
Tactics of World War I
Who's Online Now
3 registered members (TedMar, AndrewAMD, fairtrader), 578 guests, and 0 spiders.
Key: Admin, Global Mod, Mod
Newest Members
fairtrader, hus, Vurtis, Harry5, KelvinC
19019 Registered Users
Previous Thread
Next Thread
Print Thread
Rate Thread
DLL-Funktionen dynamisch einbinden #205890
05/09/08 12:29
05/09/08 12:29
Joined: Sep 2005
Posts: 980
Aue, Sachsen, Germany
W
Wicht Offline OP
User
Wicht  Offline OP
User
W

Joined: Sep 2005
Posts: 980
Aue, Sachsen, Germany
Hallo Conitec

In GS kann man ja locker eine DLL einbinden. Oben im Script noch die Funktionsprototypen auflisten und schon kann man loslegen.

Jetzt lassen sich ja in C/C++ irgendwelche DLLs statisch und dynamisch einbinden. Ich gehe mal davon aus, daß Ihr die DLLs in GS dynamisch einbindet.

Wie stellt Ihr das intern an? Jede DLL-Funktion ist doch einzigartig. Mal ist die Parameterliste verschieden, mal der Rückgabewert anders.

In meiner Win32-Konsolenanwendung kann ich erstmal eine DLL dynamisch einbinden. Ich will aber, daß über eine spezielle Funktion alle verfügbaren Funktionen einer DLL eingelesen werden und sofort verfügbar sind. Also ganz analog zu GS.

Wie macht man das?

Re: DLL-Funktionen dynamisch einbinden [Re: Wicht] #205892
05/09/08 12:48
05/09/08 12:48
Joined: Jan 2006
Posts: 1,829
Neustadt, Germany
T
TWO Offline

Serious User
TWO  Offline

Serious User
T

Joined: Jan 2006
Posts: 1,829
Neustadt, Germany
 Code:
HINSTANCE DLLHandle = LoadLibraryA( "bsp.dll" );

AWAKE_LOG(	ML_LOW, MT_INFO, "Loading dll [b]" + iter->leaf() + "[/b] from [b]" + path + "[/b]" );

if( !DLLHandle ) 
	continue;

entryPoint = (EntryPointPtr)GetProcAddress( DLLHandle, "PluginInit" );

if( !entryPoint )
{
	AWAKE_LOG(	MT_WARNING, iter->leaf() + " is no valid dll (Entrypoint not found)!" );
	continue;
}


// Call entry point
int pluginVersion = entryPoint();


Hier wird die Funktion PluginInit aufgerufen.

Dafür musst du allerdings die Funktionsnamen wissen. Weitere Hilfe gibts in der MSDN.

Re: DLL-Funktionen dynamisch einbinden [Re: TWO] #206273
05/12/08 16:40
05/12/08 16:40
Joined: Sep 2005
Posts: 980
Aue, Sachsen, Germany
W
Wicht Offline OP
User
Wicht  Offline OP
User
W

Joined: Sep 2005
Posts: 980
Aue, Sachsen, Germany
Problem halbwegs gelöst. Danke.


Moderated by  old_bill, Tobias 

Gamestudio download | chip programmers | Zorro platform | shop | Data Protection Policy

oP group Germany GmbH | Birkenstr. 25-27 | 63549 Ronneburg / Germany | info (at) opgroup.de

Powered by UBB.threads™ PHP Forum Software 7.7.1