Conversion vc++ en .net

Résolu
koodann Messages postés 3 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 11 avril 2005 - 8 avril 2005 à 16:17
koodann Messages postés 3 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 11 avril 2005 - 11 avril 2005 à 10:36
Bonjour tout le monde.


je travaille sur un projet en VC++ 6.0 et je dois convertir le projet en .net.
en VC++ pas de problème mais en .net (que je ne connais que trop peu)...
Quelques warning apparaissent..(perte possible de données, rien de bien méchant)
mais 1 erreur que je ne connais pas apparait et je ne trouve pas la solution.
Si quelqu'un a une idée, quelle qu'elle soit, je suis preneur.


voici l'erreur en question
error C2440: 'static_cast' : impossible de convertir de 'void (__thiscall CTF::* )(WPARAM,LPARAM)' en 'LRESULT (__thiscall CWnd::* )(WPARAM,LPARAM)'
Aucune fonction ayant ce nom dans la portée ne correspond au type de la cible



merci à tous.

3 réponses

koodann Messages postés 3 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 11 avril 2005
11 avril 2005 à 10:36
pour ticomic.

le probleme est résolu.

le "void" de mes fonctions est maintenant en LRESULT et retourne true a la fin du code.
Il semblerait que les personnes travaillant en parrallèle sur le support ont changé une partie du code sans en modifier les attachements.

Salut et @++.
3
ticomic Messages postés 57 Date d'inscription mercredi 22 décembre 2004 Statut Membre Dernière intervention 29 avril 2005
8 avril 2005 à 20:18
Je ne fais que débuter en C++, mais ca m'interresse de connaitre les probs des autres pour ne pas les répéter.

Est-ce que tu as mis un return quelque part dans une fonction void? Void est censé ne pas retourner de résultat, et ca se peut que ca soit ca l'erreur.

Sinon, je sais pas...regarde la ligne d'erreur, ou dit la nous. On peut pas faire grand chose avec juste le message!

Dsl, si je me trompe au fait, je suis juste en train d'apprendre.

Ticomic
0
koodann Messages postés 3 Date d'inscription jeudi 7 avril 2005 Statut Membre Dernière intervention 11 avril 2005
11 avril 2005 à 09:36
merci d'avoir répondu.

J'ai bien re-vérifié, il n'y a pas de return dans mes " void ". Donc le problème ne semble pas se situer ici.
De plus, pardon mais il n'y a pas une erreur mais deux, le même message sur deux fonctions.
Les deux foncitons ont en paramètres : WPARAM,LPARAM. Pour le moment, je cherche ou est le problème avec ces appels.

Je vous mets la premiere fonction.
_____________________

void CTF::RefreshPht(WPARAM wParam, LPARAM lParam)


{



if (flagAutoriseTraiteTF==1){



int i = 0;



int coinG=30;



if (flagInterditAffiTF==0){


TheDC =
this->GetWindowDC();


TheHDC = TheDC->GetSafeHdc();





// affichage TF ou AC


DrawDibDraw(MyDisplayDib,TheDC->GetSafeHdc(),1+10,10+coinG,256,256,&MyBIH2,imageAC,128-W_TFac/4,128-H_TFac/4,W_TFac/2,H_TFac/2,DDF_SAME_HDC);





// affichage barre verticale lambda


OldPen1 = TheDC->SelectObject(MyPen1);


TheDC->MoveTo(12+126-2*posTfLigne,10+coinG);
//pour lambda = 600nm


TheDC->LineTo(12+126-2*posTfLigne,10+coinG+254);


TheDC->SelectObject(OldPen1);



// affichage fond gris coupe TF


TheDC->FillSolidRect(10,300+10,256,258+20,0x00BBBBBB);



// affichage coupe TF


OldPen2 = TheDC->SelectObject(MyPen2);


TheDC->MoveTo(12,322);



double value = 0.;



for (
int j=1;j<255;j++){


value = *(LigneAfficheTF + j) - minTFL;


value *= scale;



//if (value > 100) value = 100.;


TheDC->LineTo(12+(
int)(value),322+j);


}


TheDC->SelectObject(OldPen2);



// affichage ligne texte pic


OldPen3 = TheDC->SelectObject(MyPen3);


TheDC->MoveTo(12,322+max_index);


TheDC->LineTo(110,322+max_index);


CString Text;


Text.Format("Send-> %.1f mu",-opd);


TheDC->TextOut(142,322+(max_index)-8,(CString&)Text);


TheDC->SelectObject(OldPen3);


AffichageFlux(TheDC,TheHDC);


ReleaseDC(TheDC);


UpdateData(TRUE);


m_SnrPic=SNR;


UpdateData(FALSE);


}


}


}

________________________________
J'espère que ça vous aidera (donc moi par la suite...^^)

merci d'avance.
0
Rejoignez-nous