Bonjour,

Je dois actuellement utiliser une librairie au format DLL et utiliser plusieurs de ses méthodes.
Le problème étant que mon code ne génère aucune erreur lors de la compilation (en mode debug) mais que le programme plante avec un APPCRASH une fois arrivé au moment d'appeler la méthode.

Je ne suis pas un As en C++ et je m'aide grandement d'un bout de code fourni avec les librairies.

Voici le APPCRASH.

Nom d’événement de problème: APPCRASH
Nom de l’application: controlMaster.exe
Version de l’application: 0.0.0.0
Horodatage de l’application: 4ee06f4b
Nom du module par défaut: controlMaster.exe
Version du module par défaut: 0.0.0.0
Horodateur du module par défaut: 4ee06f4b
Code de l’exception: c0000005
Décalage de l’exception: 00011ff0
Version du système: 6.1.7601.2.1.0.256.48
Identificateur de paramètres régionaux: 1036
Information supplémentaire n°*1: 0a9e
Information supplémentaire n°*2: 0a9e372d3b4ad19135b953a78882e789
Information supplémentaire n°*3: 0a9e
Information supplémentaire n°*4: 0a9e372d3b4ad19135b953a78882e789

Voici mon code :

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
#include "stdafx.h"
 
#import <C:\Program Files (x86)\GE Security\ATS8400 ACE\ATS8400Eng.dll>
#import <C:\Program Files (x86)\GE Security\ATS8400 ACE\AtsIPCh.dll>
 
int _tmain(int argc, _TCHAR* argv[])
{
	CoInitialize(NULL);
 
	//Chargement de la librairie et de la class
	ATSIPCHLib::IAtsUDPCh *pUnkIp;
 
	HRESULT res = CoCreateInstance(__uuidof(ATSIPCHLib::IAtsUDPCh), 0, CLSCTX_LOCAL_SERVER, __uuidof(ATSIPCHLib::IAtsUDPCh), (void **)&pUnkIp);
 
	if (res != 0)
		printf("CoCreate comm failed\n");
	else
		printf("CoCreate comm succeeded\n");
 
	//Chargement de ma seconde class
	ATS8400ENGLib::IAtsCommunicationEngine *pUnkEng;
 
	res = CoCreateInstance(__uuidof(ATS8400ENGLib::AtsCommunicationEngine), 0, CLSCTX_INPROC_SERVER, __uuidof(ATS8400ENGLib::IAtsCommunicationEngine), (void **)&pUnkEng);
	if (res != 0)
		printf("CoCreate Eng failed\n");
	else
		printf("CoCreate Eng succeeded\n");
 
	_bstr_t ipaddress = "192.9.212.145";
	int port = 3001;
 
	//Appel de la méthode Open()
	_variant_t varres = pUnkIp->Open(ipaddress, port, port);
	if(varres.iVal == 0) printf("chargee");
}
Merci à vous.

Edit :
Résolu à cause d'une erreur au niveau des noms de classes.
Ca faisait seulement 3 jours que j'étais bloqué sur ça ...

Merci à tous ^^