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

C++ Discussion :

error C2062: type 'int' unexpected


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Député suppléant
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Député suppléant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut error C2062: type 'int' unexpected
    Bonjour,

    Dans le programme simple, basé sur une boite de dialogue, j'ai l'erreur suivante :
    error C2062: type 'int' unexpected
    à la ligne : if(point.y > 260) {i=int ShellExecute(hwnd,strOpen,strExplorer,NULL,NULL,SW_MAXIMIZE)};
    ainsi qu'aux deux lignes suivantes.
    J'utilise Embedded Visual C++ 41, pour compiler ce programme devant fonctionner sous Windows CE.

    J'ai aussi essayé avec CreateProcess, mais sans succés.

    Merci de votre aide pour lancer un .exe depuis ce programme.

    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
    // testDlg.cpp : implementation file
    //
     
    #include "stdafx.h"
    #include "test.h"
    #include "testDlg.h"
    #include <shellapi.h> 
     
    #ifdef _DEBUG
    #define new DEBUG_NEW
    #undef THIS_FILE
    static char THIS_FILE[] = __FILE__;
    #endif
     
    /////////////////////////////////////////////////////////////////////////////
    // CTestDlg dialog
     
    CTestDlg::CTestDlg(CWnd* pParent /*=NULL*/)
    	: CDialog(CTestDlg::IDD, pParent)
    {
    	//{{AFX_DATA_INIT(CTestDlg)
    		// NOTE: the ClassWizard will add member initialization here
    	//}}AFX_DATA_INIT
    	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
    	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
    }
     
    void CTestDlg::DoDataExchange(CDataExchange* pDX)
    {
    	CDialog::DoDataExchange(pDX);
    	//{{AFX_DATA_MAP(CTestDlg)
    		// NOTE: the ClassWizard will add DDX and DDV calls here
    	//}}AFX_DATA_MAP
    }
     
    BEGIN_MESSAGE_MAP(CTestDlg, CDialog)
    	//{{AFX_MSG_MAP(CTestDlg)
    	ON_WM_LBUTTONDOWN()
    	//}}AFX_MSG_MAP
    END_MESSAGE_MAP()
     
    /////////////////////////////////////////////////////////////////////////////
    // CTestDlg message handlers
     
    BOOL CTestDlg::OnInitDialog()
    {
    	CDialog::OnInitDialog();
     
    	// Set the icon for this dialog.  The framework does this automatically
    	//  when the application's main window is not a dialog
    	SetIcon(m_hIcon, TRUE);			// Set big icon
    	SetIcon(m_hIcon, FALSE);		// Set small icon
     
    	CenterWindow(GetDesktopWindow());	// center to the hpc screen
     
    	// TODO: Add extra initialization here
     
     
     
    	return TRUE;  // return TRUE  unless you set the focus to a control
    }
     
     
     
    void CTestDlg::OnLButtonDown(UINT nFlags, CPoint point) 
    {
    	m_szDescription="clic";
        CString strOpen= "open";
    	int i;
    	CString strExplorer= "\\Flash_Storage\\Evasio\\explorer.exe";
    	CString strEvadeo= "\\Flash_Storage\\Evasio\\CRISTINELAUNCHERIGN.exe";
    	CString strIgo8= "\\SDMMC\\iGO8\\iGO8.exe";
    	HWND hwnd; 
    	InvalidateRect( NULL );
    	if(point.y > 260) {i=int ShellExecute(hwnd,strOpen,strExplorer,NULL,NULL,SW_MAXIMIZE)}; 
    	if((point.y < 259) & (point.x <235)) {i=int ShellExecute(hwnd,strOpen,strEvadeo,NULL,NULL,SW_MAXIMIZE)};
    	if((point.y < 259) & (point.x >236)) {i=int ShellExecute(hwnd,strOpen,strIgo8,NULL,NULL,SW_MAXIMIZE)};
    	CDialog::OnLButtonDown(nFlags, point);
    }

  2. #2
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Bizarre cette manière d'écrire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if(point.y > 260) {i=int ShellExecute(hwnd,strOpen,strExplorer,NULL,NULL,SW_MAXIMIZE)};
    Moi, je serais toi, j'enlèverais le int en rouge au milieu qui doit perturber le compilateur
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  3. #3
    Expert confirmé

    Inscrit en
    Août 2006
    Messages
    3 941
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 3 941
    Points : 5 652
    Points
    5 652
    Par défaut
    Coe,

    L'erreur est clairement indiquée par le message. Relis ton code, sans présumer de ce que tu penses avoir fait, et tu trouveras.
    Si les cons volaient, il ferait nuit à midi.

  4. #4
    Membre éclairé
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Points : 709
    Points
    709
    Par défaut
    Salut.
    excuse moi mais T'aurais pas confondu & bit wize and avec && qui est le est logique ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if((point.y < 259) && (point.x <235)) {i=int ShellExecute(hwnd,strOpen,strEvadeo,NULL,NULL,SW_MAXIMIZE)};
    	if((point.y < 259) && (point.x >236)) {i=int ShellExecute(hwnd,strOpen,strIgo8,NULL,NULL,SW_MAXIMIZE)};
    If you type Google into Google, you Can break the internet" - The IT Crowd

  5. #5
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    Citation Envoyé par buggen25
    Salut.
    excuse moi mais T'aurais pas confondu & bit wize and avec && qui est le est logique ?
    if((point.y < 259) && (point.x <235)) {i=int ShellExecute(hwnd,strOpen,strEvadeo,NULL,NULL,SW_MAXIMIZE)};
    if((point.y < 259) && (point.x >236)) {i=int ShellExecute(hwnd,strOpen,strIgo8,NULL,NULL,SW_MAXIMIZE)};

    A mon avis il a confondu.

    Sinon regarde quelque cours de C++ sur le net pour avoir quelque base au moins pour la syntaxe.

    Bon courage.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  6. #6
    Nouveau Candidat au Club
    Profil pro
    Député suppléant
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Député suppléant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    J'ai mis int devant ShellExecute, car sans int, j'ai l'erreur suivante :

    error C2065: 'ShellExecute' : undeclared identifier

    Y-a-t'il une autre façon de déclarer ShellExecute ?

    Merci

  7. #7
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    A mon avis rajoute #include <windows.h> avant <shellapi.h> en début de ton fichier cpp ou tu utilises ShellExecute ça peu peut être marcher.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  8. #8
    Membre éclairé
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Points : 709
    Points
    709
    Par défaut Re
    Sans le int il t'affiche bien une erreur ? et avec le int il t'affiche aussi une erreur ? le problème reste le meme
    essaie ça
    ShellExecuteEx(
    LPSHELLEXECUTEINFO lpExecInfo );
    Je l'ai trouvé ici :
    http://msdn.microsoft.com/en-us/library/ms942611.aspx
    If you type Google into Google, you Can break the internet" - The IT Crowd

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Député suppléant
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Député suppléant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Sauf erreur, j'ai #include <shellapi.h> au début, conformément à la documentation.

    Faut-il ajouter #include <shellapi> en plus ?

    Merci

  10. #10
    Rédacteur

    Inscrit en
    Novembre 2006
    Messages
    1 272
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 272
    Points : 1 672
    Points
    1 672
    Par défaut
    J'ai modifié mon post j'avais pas vu.
    Ajoute windows.h meme si je ne suis pas sur que cela marche.
    Vous voulez participer aux Tutoriels, FAQ ou Traductions et faire partie de l'équipe Qt de Developpez.
    N'hésitez pas à me contacter par MP.

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Député suppléant
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Député suppléant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Merci,

    J'avais vu pour ShellExecuteEx, et je comptais aussi l'essayer.

    Mais avant, J'aimerais bien comprendre l'erreur que j'ai faite avec SellExecute ....

  12. #12
    Nouveau Candidat au Club
    Profil pro
    Député suppléant
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Député suppléant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    Avec SellExecuteEx, cela marche.

    Par contre, je n'ai toujours pas réussi à faire marcher avec ShelExecute.

    Merci

  13. #13
    Membre éclairé
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Points : 709
    Points
    709
    Par défaut
    Peut etre que la fonction ShellExecute n'existe pas dans le fichier shellapi.h de windows CE
    Tu devrais voir si elle existe bien dans ce fichier Ctrl + F
    Cordialement
    If you type Google into Google, you Can break the internet" - The IT Crowd

  14. #14
    Rédacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Mai 2007
    Messages
    11 517
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultant en sécurité
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Points : 50 367
    Points
    50 367
    Par défaut
    Citation Envoyé par buggen25 Voir le message
    Peut etre que la fonction ShellExecute n'existe pas dans le fichier shellapi.h de windows CE
    Lu ici
    Citation Envoyé par MSDN
    Runs on : Windows CE OS
    Versions : 1.0 and later
    Defined in : Shellapi.h
    Mais la petite note qui tue :
    Citation Envoyé par MSDN
    Note This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.
    Raymond
    Vous souhaitez participer à la rubrique Réseaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs système et réseau à configurer leurs équipements SNMP réseau.
    e-verbe Un logiciel de conjugaison des verbes de la langue française.

    Ma page personnelle sur DVP
    .

  15. #15
    Membre éclairé
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Points : 709
    Points
    709
    Par défaut
    Citation Envoyé par ram-0000 Voir le message
    Lu ici


    Mais la petite note qui tue :
    Bonjour
    Sans oublier que je paralais bien de ShellExecute et non ShellExecuteEx.
    Note This API is part of the complete Windows CE OS package as provided by Microsoft. The functionality of a particular platform is determined by the original equipment manufacturer (OEM) and some devices may not support this API.
    Traduction :
    Nota : Cet API est une partie de package Windows CE OS fourni par microsoft.Une fonctionnalité d'une platform donnée est determiné par l' OEM, et certains appareils ne supporte pas cet API.
    Je ne sais pas si ça mercharais avec linux embedded
    A+.
    If you type Google into Google, you Can break the internet" - The IT Crowd

  16. #16
    Nouveau Candidat au Club
    Profil pro
    Député suppléant
    Inscrit en
    Janvier 2009
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Député suppléant

    Informations forums :
    Inscription : Janvier 2009
    Messages : 6
    Points : 1
    Points
    1
    Par défaut
    C'est peut-être cela. J'ai vu sur le net que d'autres personnes ont eu le même problème que moi, sans trouver de solution apparemment.

    ShellExecute semble être dans Shellapi.h, mais n'est peut-être pas pris en compte, car incompatible, pour une compilation pour une plate-forme PocketPC.

    En tous cas merci de vos conseils.

    Cordialement

  17. #17
    Membre éclairé
    Avatar de buggen25
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    554
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Août 2008
    Messages : 554
    Points : 709
    Points
    709
    Par défaut
    Citation Envoyé par geugeu Voir le message
    C'est peut-être cela. J'ai vu sur le net que d'autres personnes ont eu le même problème que moi, sans trouver de solution apparemment.

    ShellExecute semble être dans Shellapi.h, mais n'est peut-être pas pris en compte, car incompatible, pour une compilation pour une plate-forme PocketPC.

    En tous cas merci de vos conseils.

    Cordialement
    Peut etre qu'elle a été ignoré par une compilation conditionnelle !
    If you type Google into Google, you Can break the internet" - The IT Crowd

Discussions similaires

  1. Réponses: 1
    Dernier message: 03/03/2009, 15h44
  2. Procédure stockée, transact SQL et param de type INT
    Par Samish dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 20/04/2006, 11h01
  3. [Hibernate] Pb avec type int
    Par raj dans le forum Hibernate
    Réponses: 1
    Dernier message: 31/03/2006, 22h10
  4. Réponses: 3
    Dernier message: 23/02/2006, 10h37
  5. Réponses: 9
    Dernier message: 06/07/2005, 15h20

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