begin process at 2008 07 05 00:12:09
1 204 994 membres
509 nouveaux aujourd'hui
14 118 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Pointeur sur fonction envoyé par dll [ Archives / Au secours ] (MoDDiB)

Pointeur sur fonction envoyé par dll le 12/12/2003 20:14:52

MoDDiB
Voila ce que j'ai fais mais ca ne marche pas :
Dll :
#include <windows.h>

BOOL APIENTRY DllMain(HANDLE hModule,DWORD ul_reason_for_call,LPVOID lpReserved)
{
return TRUE;
}

extern "C" __declspec(dllexport)

COOL(void (*Test))
{
Test; // c'est ici que la fonction
// delexe doit etre executé !
}


//Voici ce qu'il y a dans l'exe :

#include <windows.h>

#pragma comment(lib, "blueteam.lib")
//DECLARATION DE LA VARIABLE DU DLL//
extern "C" __declspec(dllimport) COOL(void (*Test));

void (*Test)(void); // pointeur vers la fonction

void Testeuh(void) // la fonction ki sera pointé
{
Mana->Bot[3]->Act(ACT_RUN,DIR_RIGHT);

}

et dans lexe dans la fonction boucle il y a :
Test = Testeuh; // le pointeur pointe ^^
COOL (*Test ); // on envoie laddresse a la dll

Mais rien ne se passe .. Pourquoi?
Merci beaucoup !!

Re : Pointeur sur fonction envoyé par dll le 12/12/2003 20:37:29

djl

j'ai pas test mais moi je ferai plutot
Test =&Testeuh; // on lui file l'adresse de la fct

Re : Pointeur sur fonction envoyé par dll le 12/12/2003 20:40:55

MoDDiB

Merci davoir essayer mais le nom d'une fonction est deja un pointeur vers l'addresse de la fonction :(

Re : Pointeur sur fonction envoyé par dll le 12/12/2003 20:44:42

djl

merci pour cette info(lol,je vien de comprendre d'ou venais l'overflow d'un de mes prog!)

a ce moment la, je ferai(mais ce n'est qu'une supposition)

COOL (Test);

Re : Pointeur sur fonction envoyé par dll le 12/12/2003 23:16:53

ymca2003
ou simplement COOL(Testeuh)

Re : Pointeur sur fonction envoyé par dll le 12/12/2003 23:40:45

MoDDiB

Merci mais rien de tout ca ^^ en fait c ma fonction dll qui merdait :
il faut ceci pour init un pointeur vers une fonction :
void COOL(void (*Test)(void))
{

Test();

}
Merci encore !!

Re : Pointeur sur fonction envoyé par dll le 13/12/2003 15:44:50

vieuxLion
super !
je te conseillerais quand même de passer par un typedef pour simplifier la syntaxe : typedef int (fn) (int, int);

et un petit exemple

#include <iostream>
using namespace std;

//définition du pointeur de fonction
typedef int (pfn) (int, int);
int ajout(int x, int y){return x+y;}
int soustrait(int x, int y){return x-y;}

void lance(pfn pf){cout << pf(5,2)<< endl;}

int main(int argc, char* argv[], char* env[])
{ lance(ajout);
lance(soustrait);
return 0; }



Classé sous : fonction, test, dll, void, pointeur

Participer à cet échange

Pub



Appels d'offres

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS