Bonour

Voila, j'essaye de passer une chaine de caractère en char* en parametre à ma Dll et ca explose completement.
En mode debug, je n'arrive pas à voir le contenu de la chaine :

Mon .h

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
extern "C"
{
#define TESTDLL_API __declspec(dllexport)  
 
TESTDLL_API int fnTestDll(char *test,char *res);
TESTDLL_API int fnTest1(void);
}
Mon .cpp
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
 
 
#include "stdafx.h"
#include "TestDll.h"
#include "stdio.h"
 
 
#ifdef _MANAGED
#pragma managed(push, off)
#endif
 
BOOL APIENTRY DllMain( HMODULE hModule,
                       DWORD  ul_reason_for_call,
                       LPVOID lpReserved
					 )
{
	switch (ul_reason_for_call)
	{
	case DLL_PROCESS_ATTACH:
	case DLL_THREAD_ATTACH:
	case DLL_THREAD_DETACH:
	case DLL_PROCESS_DETACH:
		break;
	}
    return TRUE;
}
 
#ifdef _MANAGED
#pragma managed(pop)
#endif
 
// Il s'agit d'un exemple de fonction exportée.
int   fnTest1(void)
{
	return 40;
}
 
 int   fnTestDll(char *test,char *res)
{
	printf(test);
	return 42;
}
Là, je ne vois pas ce qui coince

Je suis en Visual Studio 2005 et j'ai fais une Dll sans MFC

Merci pour votre aide