IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

CMSCOMM et Windows Form


Sujet :

MFC

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 22
    Par défaut CMSCOMM et Windows Form
    J'ai un petit probleme avec un projet,
    Un probleme dadresse dapres ce que jai vu avec le debugger ...

    Voici la declaration du composant puis l'utilisation ...
    Je ne vois pas dou vient le probleme ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    CMSComm* m_pCom;
    m_pCom->SetPortOpen(true);
    Merci par avance

  2. #2
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Tu n'instancies pas le composant...

    Et ce code ressemble plus à du C++ normal qu'à du C++/CLI...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 22
    Par défaut
    Le probleme , je vois pas comment faire

  4. #4
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    m_pCom = new CMSComm ne suffit-il pas ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 22
    Par défaut
    non
    cela ne suffit pas, jai lerreur suivante
    debug assertion failed

  6. #6
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Pas assez d'info.
    Lance ton programme en debogage, et file à la source de l'assertion qui pète...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 22
    Par défaut
    Si je remet comme avant , sans le new,
    lerreur est a cette ligne :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    /////////////////////////////////////////////////////////////////////////////
    // CWnd invoke helpers for OLE Control wrappers
    
    void AFX_CDECL CWnd::InvokeHelper(DISPID dwDispID, WORD wFlags, VARTYPE vtRet,
    	void* pvRet, const BYTE* pbParamInfo, ...)
    {
    	ASSERT(m_pCtrlSite != NULL);    // not an OLE control (not yet, at least)

  8. #8
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Mince...
    Peux-tu me montrer la classe CMSComm ?
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 22
    Par défaut
    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
    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
    #if !defined(AFX_MSCOMM_H__C335EE8D_3D6C_4D62_89F7_634283E6A188__INCLUDED_)
    #define AFX_MSCOMM_H__C335EE8D_3D6C_4D62_89F7_634283E6A188__INCLUDED_
     
    #if _MSC_VER > 1000
    #pragma once
    #endif // _MSC_VER > 1000
    // Machine generated IDispatch wrapper class(es) created by Microsoft Visual C++
     
    // NOTE: Do not modify the contents of this file.  If this class is regenerated by
    //  Microsoft Visual C++, your modifications will be overwritten.
     
    /////////////////////////////////////////////////////////////////////////////
    // CMSComm wrapper class
     
    class CMSComm : public CWnd
    {
    protected:
    	DECLARE_DYNCREATE(CMSComm)
    public:
    	CLSID const& GetClsid()
    	{
    		static CLSID const clsid
    			= { 0x648a5600, 0x2c6e, 0x101b, { 0x82, 0xb6, 0x0, 0x0, 0x0, 0x0, 0x0, 0x14 } };
    		return clsid;
    	}
    	virtual BOOL Create(LPCTSTR lpszClassName,
    		LPCTSTR lpszWindowName, DWORD dwStyle,
    		const RECT& rect,
    		CWnd* pParentWnd, UINT nID,
    		CCreateContext* pContext = NULL)
    	{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID); }
     
        BOOL Create(LPCTSTR lpszWindowName, DWORD dwStyle,
    		const RECT& rect, CWnd* pParentWnd, UINT nID,
    		CFile* pPersist = NULL, BOOL bStorage = FALSE,
    		BSTR bstrLicKey = NULL)
    	{ return CreateControl(GetClsid(), lpszWindowName, dwStyle, rect, pParentWnd, nID,
    		pPersist, bStorage, bstrLicKey); }
     
    // Attributes
    public:
     
    // Operations
    public:
    	void SetCDHolding(BOOL bNewValue);
    	BOOL GetCDHolding();
    	void SetCommID(long nNewValue);
    	long GetCommID();
    	void SetCommPort(short nNewValue);
    	short GetCommPort();
    	void SetCTSHolding(BOOL bNewValue);
    	BOOL GetCTSHolding();
    	void SetDSRHolding(BOOL bNewValue);
    	BOOL GetDSRHolding();
    	void SetDTREnable(BOOL bNewValue);
    	BOOL GetDTREnable();
    	void SetHandshaking(long nNewValue);
    	long GetHandshaking();
    	void SetInBufferSize(short nNewValue);
    	short GetInBufferSize();
    	void SetInBufferCount(short nNewValue);
    	short GetInBufferCount();
    	void SetBreak(BOOL bNewValue);
    	BOOL GetBreak();
    	void SetInputLen(short nNewValue);
    	short GetInputLen();
    	void SetNullDiscard(BOOL bNewValue);
    	BOOL GetNullDiscard();
    	void SetOutBufferSize(short nNewValue);
    	short GetOutBufferSize();
    	void SetOutBufferCount(short nNewValue);
    	short GetOutBufferCount();
    	void SetParityReplace(LPCTSTR lpszNewValue);
    	CString GetParityReplace();
    	void SetPortOpen(BOOL bNewValue);
    	BOOL GetPortOpen();
    	void SetRThreshold(short nNewValue);
    	short GetRThreshold();
    	void SetRTSEnable(BOOL bNewValue);
    	BOOL GetRTSEnable();
    	void SetSettings(LPCTSTR lpszNewValue);
    	CString GetSettings();
    	void SetSThreshold(short nNewValue);
    	short GetSThreshold();
    	void SetOutput(const VARIANT& newValue);
    	VARIANT GetOutput();
    	void SetInput(const VARIANT& newValue);
    	VARIANT GetInput();
    	void SetCommEvent(short nNewValue);
    	short GetCommEvent();
    	void SetEOFEnable(BOOL bNewValue);
    	BOOL GetEOFEnable();
    	void SetInputMode(long nNewValue);
    	long GetInputMode();
    };
     
    //{{AFX_INSERT_LOCATION}}
    // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
     
    #endif // !defined(AFX_MSCOMM_H__C335EE8D_3D6C_4D62_89F7_634283E6A188__INCLUDED_)

  10. #10
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 22
    Par défaut
    Apparemment il faudrait utiliser la methode create ...
    je fais donc ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    m_pCom->Create(NULL,0,CRect(0,0,0,0),this,IDC_MSCOMM1, NULL, FALSE, bstrLicense);
    Le parametre 4 n'est pas bon si j'en crois le debugueur ...

    CWnd* pParentWnd : type attendu
    type envoyé : adresse de la form ...


    j'ai trouvé ca sur le net mais je vois pas comment faire le cast ...

  11. #11
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    Attends, ce n'est pas du WinForms ça, c'est du MFC...

    Il y a moyen d'interopérer MFC et WinForms, mais ce n'est pas trivial...
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2008
    Messages
    22
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2008
    Messages : 22
    Par défaut
    ok peut tu me dire comment faire?

  13. #13
    Expert éminent
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par défaut
    C'est hors de mes compétences. Mais j'ai vu qu'il y avait un tuto sur le site.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

Discussions similaires

  1. [Delphi 2005 /Windows Forms] passage de paramêtre
    Par Frank dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 28/12/2005, 17h22
  2. [VB.NET] Partager un dataset entre 2 windows forms ???
    Par kissskoool dans le forum Windows Forms
    Réponses: 11
    Dernier message: 26/07/2005, 11h34
  3. [debutant VC++ et C++] Windows form et OPENFILENAME
    Par Le Scandinave dans le forum MFC
    Réponses: 5
    Dernier message: 08/03/2005, 15h31
  4. [C#] windows form et ComboBox
    Par telynor dans le forum Windows Forms
    Réponses: 9
    Dernier message: 12/11/2004, 18h17
  5. [VB.NET] windows form traits
    Par DG JohnJohn dans le forum Windows Forms
    Réponses: 3
    Dernier message: 08/06/2004, 15h05

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo