Converion d'un type specifique vers un entier lors du retour d'une fonction
develdelphi
Messages postés97Date d'inscriptionmercredi 7 avril 2004StatutMembreDernière intervention20 avril 2009
-
12 oct. 2006 à 03:36
develdelphi
Messages postés97Date d'inscriptionmercredi 7 avril 2004StatutMembreDernière intervention20 avril 2009
-
13 oct. 2006 à 13:16
Bonjour,
Voila comme le titre le dit bien, je veux convertir un type donne (
FSRetval ) vers un type ( int ) lors du retour vers la fonction.
Voici le code de la fonction dans laquelle on doit faire cette
conversion, alors je dois faire ca juste avant de sortir de cette
fonction, avant d'envoyer vers le type de cette meme fonction qui est
un entier.
Remarque: avant j'envoyais simplement un numero en fonctions des erreurs.
<!-- BEGIN TEMPLATE: bbcode_code -->
Code :
int CHardware::Init() //initialisations avec les differents erreurs possible
{
try
{
FSRetVal tmp; // le type specifique qu'il faut convertir string strFile;
CInit m_Init;
if(m_bver= =0) // le boleen qui dit laquelle des 2 cameras c'est.
strFile=string((LPCTSTR)(m_Init.Get_Params_Hardware_Config_FileInit()+"BestCamHardware_"+m_Init.Get_Params_Hardware_Config_FileInit_NumA()+".ini"));
else
strFile=string((LPCTSTR)(m_Init.Get_Params_Hardware_Config_FileInit()+"BestCamHardware_"+m_Init.Get_Params_Hardware_Config_FileInit_NumB()+".ini"));
tmp = m_pHardware->SetConfigFilePath((char*)strFile.c_str());
if(tmp!= FS_SUCCESS) // FS_SUCCESS chaine que nous envoit la dll
{ // il peut nous envoyer d'autres chaine genre
if(m_bver==0) // FS_CANNOT_CONNECT_TO_CAMERA et l'ensemble
//de ces chaines je les #define par des numeros pour chacuns
{
TRACE("SetConfigFilePath Hardware 1 failed : ");
TRACE("%s\n", FSRetval_Names[tmp]);
return tmp; // avant de faire ce return je dois CONVERTIR
}
else
{
TRACE("SetConfigFilePath Hardware 2 failed : ");
TRACE("%s\n", FSRetval_Names[tmp]);
return tmp;
}
}
Voici donc la fonction Init() de la classe CHardware. Comment et ou je
dois creer la fonction de conversion d'un type vers un autre (le
prototype et le corps de la fonction) et comment vais-je l'appeler?
Merci
A voir également:
Converion d'un type specifique vers un entier lors du retour d'une fonction
BunoCS
Messages postés15475Date d'inscriptionlundi 11 juillet 2005StatutModérateurDernière intervention23 avril 2024103 12 oct. 2006 à 09:11
Pourquoi ne pas changer ton prototype de Init() pour retourner un FSRetVal plutôt qu'un int?
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage
Tou compte fait Buno, je pense que je vais opter pour ta solution mais pourrais tu m'aider a changer
le prototype de Init() pour retourner un FSRetVal plutôt qu'un int
Comment serait son prototype et sa definition
et pour l'appeler comment faire sachant que j'ai ça comme appel la dessus:
develdelphi
Messages postés97Date d'inscriptionmercredi 7 avril 2004StatutMembreDernière intervention20 avril 2009 13 oct. 2006 à 13:16
Bonjour,
Voila apres un moment je reviens cette fois avec un code plus propre pour passer mes valeurs.
J'ai dans un premier temps j'ai changé le retour de Init() en FSRteVal .
Apres cela j'ai pu avoir mes affichages d'erreurs, c'était parfait mais je n'arrivais pas a dire
de quel camera il venait et donc dans un deuxième temps j'ai utilisé un struct pour renvoyer à la fois l'erreur (FSRteVal) et la camera correspondant (bool) .
Mais avec struct j'ai quelques erreurs, voici men code: