Personne vois d'ou vient le probleme car j'ai verifier et seuil appartient bien a la classe, j'ai pas de probleme de nom ...
Personne vois d'ou vient le probleme car j'ai verifier et seuil appartient bien a la classe, j'ai pas de probleme de nom ...
bon ben il signe et il persiste !!!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 --------------------Configuration: ACTrait - Win32 Debug-------------------- Compiling... ACTrait.cpp D:\crocis\AutoCollimation\ACTrait\ACTrait.cpp(82) : error C2597: illegal reference to data member 'CACTraitApp::Seuil' in a static member function D:\crocis\AutoCollimation\ACTrait\ACTrait.cpp(82) : error C2105: '++' needs l-value D:\crocis\AutoCollimation\ACTrait\ACTrait.cpp(84) : error C2597: illegal reference to data member 'CACTraitApp::Seuil' in a static member function Generating Code... Compiling... MatImg.cpp Generating Code... Error executing cl.exe. ACTrait.dll - 3 error(s), 0 warning(s)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 void CACTraitApp::OnSeuilPlus() { Seuil++; CString st = ""; st.Format ("%ld",Seuil); //SetDlgItemText(IDC_SEUIL,st); }
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 class CACTraitApp : public CWinApp { private: long Seuil; public: CACTraitApp(); static IMG TraiterIMG(IMG in); static void OnSeuilPlus(); static void OnSeuilMoins(); DECLARE_MESSAGE_MAP() };
Mais qu'est-ce que tu essaies de faire!!!
Il y a des règles dans l'exportation.
D'abord ta dll c'est quoi?
Regular DLL MFC?
Extension DLL MFC?
Et puis regarde ce post
Régular
et la j'applique juste une modification a un objet de la dll, on n'a pas le droit ?
heu oui et ??? Je n'explorte pas d'element dans la mfc, si c'est ca que je doit voir ... ca suis son petit chemin et la fonction de la dll modifie elle meme son parametre.
pourquoi tu me dis ca ? Je ne vois pas ce qu'il faut que je comprenne ? Il faut pas que je face avec les regular ?
Je te conseillerais la démarche que je t'ai montrer pour utiliser tes fonctions de seuil en commençant par retirer tes static.
tu vois d'ou ca pourrais venir ?
Si ca peux t'aider, je peux te remettre le code nettoyé et les erreurs ... perso je ne vois vraiment pas, et ca a fini par etre commenté ... Mais il faudra bien que je le resolve le probléme car c'est pour avoir une interaction sur l'algo de traitement et c'est un point clé !!!
Ok désolé j'avais pas vu qu'ils y étaient encore ....
tant de temps de recherche pour des static !!!! Rrrrrrr
Désolé c'est bon !!!
Autre question con, mais je sent que ca va faire peur (a moi bien sur !!!)
Je veux faire apparaitre la fenetre. Bete et dicipliné, je vais voir la faq et je trouve ca :
Alors j'ai implémenté ca :Comment afficher une CDialog depuis une DLL? [haut]
auteur : matazz
Pour afficher une boîte de dialogue depuis une DLL, il faut d'abord avoir choisi un projet DLL extension MFC ou avoir rajouté le support MFC dans votre DLL.
Après il suffit simplement d'appeller AFX_MANAGE_STATE :
AFX_MANAGE_STATE(AfxGetStaticModuleState());
CMyLocalDialog dlg;
dlg.DoModal();
Lien d'origine : http://www.codeguru.com/Cpp/W-P/dll/article.php/c101/
Mais comment on fais pour que dlg soit la boite de dialog que j'ai créé . IDD_SETUP ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 void CACTraitApp::OnInitDlg() { AFX_MANAGE_STATE(AfxGetStaticModuleState()); CDialog dlg; dlg.DoModal(); }
Et aussi ce qui me fait peur c'est ca :moi j'ai un regular !!!projet DLL extension MFC
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 extern "C" void WINAPI AfxShowDlg();
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 extern "C" void WINAPI AfxShowDlg() { AFX_MANAGE_STATE(AfxGetStaticModuleState()); CDialog dlg; dlg.DoModal(); }Si c'est la 3ième fonction qui est exportée
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2AfxShowDlg @3
Pour ca on est d'accord, mais il doit falloir l'initialiser la variable DLG ? non
Du coup ca m'a fais ca, mais je pense que c'est normal. Pour rappel c'est un dialog d'une DLL, donc non initialisé au départ non ?
Dis moi, as-tu designer ta boite de dialogue?
Parce que là tu utilise CDialog et non ta propre boite de dialogue.!!!
Ben justement, j'ai fais une boite de dialog avec le truc qui les fais tout seul !!!
Mais je sais pas comment on les intègre.
je vois de ci de la qu'il aurait peux etre mieux valu etandre cwin ?
Si tu as crée ta boite de dialogue à l'aide de l'éditeur de ressource, il faut lui associer une classe qui dérivera de CDialog.
A ok ... Et ya des truc pour que ca le face ou il faut le faire a la main ?
devrai je faire ca ou le Dynamisme ne me sera pas utile ?
http://c.developpez.com/faq/vc/?page...wToMakeDynamic
ou pas Tel est la question !!! Car si il y a plus simple je prend !!!
j'espere que c'est ca qu'il fallait faire car ca y est c'est fait !!! (si il faut je peux faire autre chose).
Bon c'est bon j'ai la fenetre, il me manque juste le contenu. Donc ou je dois metre le IDC_SETUP ?
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager