| 12
 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
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
 100
 101
 102
 103
 104
 105
 106
 107
 
 |  
 
 
#include "stdafx.h"
 
#include "MFCDEVICE.h"
#include "MFCDEVICEDlg.h"
#include "afxwin.h"
 
#include "device.h" //dois je retirer car  dans device_wrappeur.h j'ai aussi ?
 
#ifndef DEVICE_WRAPPEUR_INCL
#include "device_wrappeur.h" // classe dérivée de device
#endif	
..
 
//GLOBALES
 
device_wrappeur cp; //instance en globale
 
 
device_wrappeur::DEVICE_WRAPPEUR_SETTINGS settings;  //prototype que je mets sinon:  "error C2065: 'settings' : undeclared identifier" plus bas
 
  enum device_wrappeur::DEVICE_WRAPPEUR_FLAGS DEVICE_WRAPPEUR_FLAG_FILTER;   //je mets sinon erreur:  "error C2065: 'DEVICE_WRAPPEUR_FLAG_FILTER' : undeclared identifier" plus bas
 
...
 
 
//FONCTIONS
void MFCDEVICEDlg::OnCheck1() 
{
	// TODO: Add your control notification handler code here
 
 
         //FONCTION AGIT CORRECTEMENT, C'EST UNE METHODE DE DEVICE  
        // DONC DE LA CLASSE MERE
         if(!cp.IsValid()) { 
         device_geterror(&ecode, ebuf, sizeof(ebuf));
         fprintf(stderr, "Open module failed: %i %s\n", ecode, ebuf);
		//return 1;
	}
 
...
 
}
 
void MFCDEVICEDlg::OnSelchangeCombo2()
{
 
...
 
//FONCTION QUI N'A PAS D'EFFET PQ? 
bool need_reconnect = !cp.SetupCapture(DEVICE_CAPTURE_PROPERTY_DGAIN, cp.settings.dgain); 
//settings etant une struct defini dans device_wrappeur.h 
 
//DEVICE_CAPTURE_PROPERTY_DGAIN etant un enum de device definit dans device.h
 
 
}
 
...
 
bool MFCDEVICEDlg::GetCapture()  //les appels dans cette fonction marche bien 
                                 // car on appelle directement les methodes 
								 // de device
{
 
	// Query information
	gxu16 came;
	if(!cp.GetInfo(NULL, NULL, NULL, &cam)) {   // fonctionne bien GetInfo est une methode de device
		gx_geterror(&ecode, ebuf, sizeof(ebuf));
		MessageBox("GetInfo() failed..","Capture message");
		return 1;
	}
 
 
	// Setup capture properties
	gxu16 properties[] = {  //ICI: PARAMETRES EN CAUSE !!!!!
		DEVICE_CAPTURE_PROPERTY_WIN_X1, 0,
		DEVICE_CAPTURE_PROPERTY_WIN_Y1, 0,
		DEVICE_CAPTURE_PROPERTY_WIN_XS, img_width,
		DEVICE_CAPTURE_PROPERTY_WIN_YS, img_height,
 
		DEVICE_CAPTURE_PROPERTY_AGAIN,  100,
		DEVICE_CAPTURE_PROPERTY_DGAIN,  100,
		DEVICE_CAPTURE_PROPERTY_SHUTTER_HI, 0,
		DEVICE_CAPTURE_PROPERTY_SHUTTER_LO, 10000,
		DEVICE_CAPTURE_PROPERTY_TIMEDIFFBF_HI, device_fps_to_timediffbf(60) >> 16,
		DEVICE_CAPTURE_PROPERTY_TIMEDIFFBF_LO, device_fps_to_timediffbf(60) & 0xFFFF,
		DEVICE_CAPTURE_PROPERTY_ADC_MODE, 0,
 
		DEVICE_CAPTURE_PROPERTY_COLOR, 0,
		DEVICE_CAPTURE_PROPERTY_SCALE_X, 1,
		DEVICE_CAPTURE_PROPERTY_SCALE_Y, 1,
 
		DEVICE_CAPTURE_PROPERTY_END
	};
 
	if(!cp.SetCaptureProperties(properties)) { //fonctionne pas si j'enleve la definition
	                                           //gxu16 properties[] juste avant
		gx_geterror(&ecode, ebuf, sizeof(ebuf));
		MessageBox("SetCaptureProperties() failed.","Capture message");
		return 1;
	}
	...
 
} | 
Partager