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 : visual c++, fonction save [ Windows / MFC ] (williamcplusplus)

jeudi 19 juin 2008 à 14:45:54 | visual c++, fonction save

williamcplusplus

bjr tt le monde!

je developpe une interface d'acquisition d'image avec visual studio c++, masi j'ai du mal enregistrer mes images. l'idée est d'enregistrer un certain nombre d'image (imnumber), leur donner un nom (imname); il faut noter que le nom comprend un numéro (imnumero) incrémenter automatiquement.
j'utilise la fonction save (windows forms) pour faire l'enregistrement.
mon code est:
int imnumero=12;

int

imnumber=15;

char

name[80];

char

nom[80]= "image" ;

int

*pnumber=&imnumber;

int

*pimnumero=&imnumero;

int

counter=0;

for (;counter<*pnumber;)

{

for ( int i = 0; i< 80;i++)

{

name[i] = 0;

//sprintf_s(name,"image%03d.bmp", imnumero);

sprintf_s(name,

"%s.%d.bmp" , nom, imnumero);

}

counter++;

dialog_expert::pictureBox1->Image->Save(

"c:\\name" );

*pimnumero+=1;

}

}

Dès que je compile ça m'affiche un message du genre:

dialog_expert.obj : error LNK2022: échec de l'opération sur les métadonnées (80131187) : Déclarations de méthodes incohérentes dans des types dupliqués
dialog_expert.obj : error LNK2022: échec de l'opération sur les métadonnées (80131187) : Déclarations de méthodes incohérentes dans des types dupliqués

dialog_expert.obj : error LNK2022: échec de l'opération sur les métadonnées (801311D6) : Nombre différent de méthodes dans des types dupliqués
dialog_expert.obj : error LNK2022: échec de l'opération sur les métadonnées (80131188) : Déclarations de champs incohérentes dans des types dupliqués
dialog_expert.obj : error LNK2022: échec de l'opération sur les métadonnées (80131188) : Déclarations de champs incohérentes dans des types dupliqués
dialog_expert.obj : error LNK2022: échec de l'opération sur les métadonnées (801311D7) : Nombre différent de champs dans des types dupliqués
Image_visible.obj : error LNK2022: échec de l'opération sur les métadonnées (80131187) : Déclarations de méthodes incohérentes dans des types dupliqués
Image_visible.obj : error LNK2022: échec de l'opération sur les métadonnées (80131187) : Déclarations de méthodes incohérentes dans des types dupliqués
Image_visible.obj : error LNK2022: échec de l'opération sur les métadonnées (801311D6) : Nombre différent de méthodes dans des types dupliqués
Image_visible.obj : error LNK2022: échec de l'opération sur les métadonnées (80131188) : Déclarations de champs incohérentes dans des types dupliqués
Image_visible.obj : error LNK2022: échec de l'opération sur les métadonnées (80131188) : Déclarations de champs incohérentes dans des types dupliqués (types : Ekta.dialog_expert ; champs : button8) : (0x04000019).

Image_visible.obj : error LNK2022: échec de l'opération sur les métadonnées (801311D7) : Nombre différent de champs dans des types dupliqués


Merci pr vos conseils

williamc++

jeudi 19 juin 2008 à 15:02:36 | Re : visual c++, fonction save

buno

Réponse acceptée !
Hello,
y'a un souci dans la façon de faire: "C:\\name" est une chaine de caractères qui représente le répertoire nommé name du disque C. J'imagine que tu voulais que name soit interprété. Dans ce cas, il faut que ton sprintf soit plus complet et contienne le chemin de ton image (et pas juste le nom)

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage

jeudi 19 juin 2008 à 15:12:07 | Re : visual c++, fonction save

buno

2e lecture: en fait, tu t'es pris la tête pour pas grand-chose. Je me suis permis de faire du ménage dans ton code:

int imnumero=12;
int imnumber=15;
char name[80];
char nom[80]="C:\\image" ;

for (int counter=0; counter<imnumber; counter++)
{
    sprintf_s(name,"%s.%d.bmp" , nom, imnumero);

    dialog_expert::pictureBox1->Image->Save("c:\\name");
    imnumero++;
}

Sauf erreur de ma part, ce bout de code va sauvegarder 15 images: C:\image.12.bmp, C:\image.13.bmp, ..., C:\image.26.bmp

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage

jeudi 19 juin 2008 à 15:13:34 | Re : visual c++, fonction save

buno

Réponse acceptée !
Bien sur, il faut modifier la fonction Save comme suit:
dialog_export::pictureBox1->Image->Save(name);



Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage

jeudi 19 juin 2008 à 15:24:43 | Re : visual c++, fonction save

williamcplusplus

Réponse acceptée !
slt buno!
merci pr tes psites.
Mais l'erreurs persisitent tjrs

williamc++

jeudi 19 juin 2008 à 15:39:53 | Re : visual c++, fonction save

buno

Réponse acceptée !
ok, tu as ptet un souci alors dans la déclaration de ton objet dialog_export et/ou dans les prototypes de ses fonctions. Le message d'erreur semble indiqué qu'il est déclaré plusieurs fois, mais pas avec les mêmes prototypes de fonctions...

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage

vendredi 20 juin 2008 à 13:29:11 | Re : visual c++, fonction save

williamcplusplus

slt encore un ti souci!
mon code pour l'enregistrement d'image est:

int

imnumero=12;

int

imnumber=15;

char

name[80];

//char nom[80]="C:\\image" ;

char

nom[80]= "c:\\image";

for

(int counter=0; counter<imnumber; counter++)

{

sprintf_s(name,

"%s%d.png" , nom, imnumero);

this->pictureBox1->Image->Save(name);

imnumero++;

}

}

le programme n'accepte pas que je lui passe name en paramètre. Normalement, je devrais mettre de guillemets, mais comme name reuslte de sprintf_s,  je ne peux pas "name"à la fonction save .
le message d'erreur est du genre:


error C2664: 'void System::Drawing::Image::Save(System::String ^)' : impossible de convertir le paramètre 1 de 'char [80]' en 'System::String ^'

Raison : impossible de convertir de 'char *' en 'System::String ^'

Aucun opérateur de conversion défini par l'utilisateur disponible, ou

Impossible de convertir un type non managé en type managé

merci pour vos conseils.



williamc++

vendredi 20 juin 2008 à 13:57:07 | Re : visual c++, fonction save

buno

Attention! Tu es en train de mélanger le C++ et le C#
Du coup, il faut d'abord que tu crée un objet String (genre String maString=name;) avant de le passer en paramètre de la fonction Save.

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage

vendredi 20 juin 2008 à 14:38:54 | Re : visual c++, fonction save

williamcplusplus

resalut buno!
tu le declare comme cet objet string.j'essaie depuis tt à l'heure mais ça m'affiche tjrs des erreurs.
thanks
williamc++

vendredi 20 juin 2008 à 14:55:04 | Re : visual c++, fonction save

buno

Je ferais comme cela:
string maString = new string(name);

ça marche?

Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
Le site de mon mariage


1 2 3 4

Cette discussion est classé dans : error, types, obj, échec, lnk2022


Répondre à ce message

Sujets en rapport avec ce message

inp et outp [ par eric ] J'ai un problème avec ces deux fonctions.Voici les messages que j'obtiens à la compilation:bmp.obj : error LNK2001: unresolved external symbol _outpbm probleme de link [ par jacky66 ] je debute en c++ et en compilant mon prg je tombe sur des erreurs de link :IsieLink.obj : error LNK2001: unresolved external symbol "void __cdecl Dump rapatriement de fichier txt via ftp : pt 'problème [ par jimtruand ] salut!si quelqu'un peut m'aider à résoudre mon problème?qd je link mon programme j'ai les erreurs suivantes:fusion10.obj : error LNK2001: unresolved Vc++ Compil AAAAAAA [ par erasor ] Voila Je Travaille sur un lecteur de mp3 pour un jeu et voila les erreurs que Visual C++ me sort et ke je n'arrive pas a resourdre:client.obj : error Urgent: OpenGL unresolved external ... [ par voilhes ] Salut à tousJe viens de me mettre à l'OpenGL et j'ai déjà un gros problème:OpenGL.obj : error LNK2001: unresolved external symbol __imp__glHint@8OpenG pb de librairie [ par didrocks ] J'ai un problème lors de la complication de mon app en mode debug (et seulement en mode debug) avec vc++ 6.0:nafxcwd.lib(afxmem.obj) : error LNK2001: Je cherche une librairie [ par CyberP ] Je cherche la librairie qui correspond au fctions :- RasEnumConnections()- RasHangUp()Elles sont toutes les deux dans le fichier d'en-tête "ras.h"Car Erreur Buildage ? [ par 24Karas ] salut,ben j'ai un projet avec des classes. Quand je compile ça marche mais quand je build j'obtient ces erreurs :Linking...nafxcwd.lib(afxmem.obj) : e utiliser une librairie faite pour du C dans du C++??? [ par cartouh ] Bonjour,j'essaie d'utiliser la librairie CPDFLib (http://www.fastio.com/)je l'ai compilé sous visual comme ils disent dans la doc, j'obtient un .libje So I need help again [ par lerilcy ] Je dois utiliser une CFile en Vc++6 et etrangement mon " #include "afx.h" " provoque une erreur lors du linkingVoici l'erreur:Compiling...file.cppLi


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

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

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 14,758 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.