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

Windows Forms Discussion :

[VC#] - Je ne comprends pas ou est mon erreur !


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    epc
    epc est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 83
    Par défaut [VC#] - Je ne comprends pas ou est mon erreur !
    Bonjour et merci par avance pour votre aide.

    Mon programme est écrit avec l'ancienne version de visual studio. Il fonctionne correctement sous XP. Il fait appel à une bdd placée sur un serveur.
    J'ai converti ce programme sous visual studio 2003. Il fonctionne sous vista après avoir retiré SHELL32.dll de ma solution.
    Mais sous XP via le serveur le programme fonctionne sauf pour l'utilisation de la fonction "exploration" qui explore les répertoires autorisés de mon serveur.
    Dans cette fonction il y a entre autre treeview, listview.

    Je ne peux pas utiliser le mode debug en pas à pas, car vs2003 est installé sur mon vista.

    Voici le message d'erreur lors de l'ouverture de cette fonction en fichier joint.
    Je ne parvient pas à interpréter ce qu'il ecrit.
    Merci.
    Images attachées Images attachées  

  2. #2
    Membre éclairé
    Homme Profil pro
    DBA - Développeur BI
    Inscrit en
    Avril 2003
    Messages
    442
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : DBA - Développeur BI
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2003
    Messages : 442
    Par défaut
    Je crois que le message est assez explicite c'est le Shell32 que tu as enlevé qui empêche ton prog de tourner sous XP. A mon sens tu devrais essayer de trouver un autre composant COM qui soit compatible XP et Vista. Lors de l'appel à ce composant met le dans un try catch sa évitera ton prog de planter.

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    quand on fait du .net, le mieux est de ne pas utiliser de composants COM
    (certes c'est parfois impossible, et je ne sais pas ce que fait ta dll mais .net fait deja pas mal de choses)

    le message d'erreur nous montre aussi que tu n'utilises pas de try catch
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    epc
    epc est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 83
    Par défaut
    Merci pour votre réponse.

    J'ai du lors de la création de mon programme avoir besoin de ce .com.
    Je ne me rappelle plus pour quelle fonction il est utile !!!
    Je vais remettre ce shell dans ma solution pour xp.

    Mais je ne sais pas comment trouver les fonctions déja réalisée dans .net.
    Je suis souvent obligé de recréer une fonction qui existe.
    Comment faites-vous pour avoir ces informations dans .net ?
    Comment faites-vous pour intégrer ces fonctions dans vos programmes ?

    J'utilise treeview pour montrer l'arborescence des répertoires et permettre d'effectuer des copies, coller, couper, impression de repertoires fils vers des répertoires parents (uniquement dans ce sens). Quelle fonctions .net sont disponibles.
    Si vous avez des idées ?

    Merci

  5. #5
    Expert confirmé
    Avatar de smyley
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    6 270
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 6 270
    Par défaut
    Citation Envoyé par epc Voir le message
    J'utilise treeview pour montrer l'arborescence des répertoires et permettre d'effectuer des copies, coller, couper, impression de repertoires fils vers des répertoires parents (uniquement dans ce sens). Quelle fonctions .net sont disponibles.
    Merci
    Tout ce qui est dans System.IO ... tu pourrai regarder sur la MSDN pour voir ce qui existe.
    Après tu peut t'inspirer de tutoriels ou d'exemples (comme ceux présent sur CodeProject) cf. http://www.codeproject.com/KB/cs/my_explorer.aspx

  6. #6
    epc
    epc est déconnecté
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 83
    Par défaut
    Effectivement il y a des choses intéressante !

    Merci

    J'ai en fin retrouvé pourquoi j'avais besoin du shell32.dll (qui ne doit pas être la bonne version pour xp).
    C'est pour placer des icônes dans l'arborescence treeview et listeview devant les noms des répertoires ou des fichiers. C'est une partie que j'avais trouvée dans un exemple sur le web.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private void InitializeIconFolder()
    {
      Shell32.Folder FolderShell = m_Shell.NameSpace(Shell32.ShellSpecialFolderConstants.ssfWINDOWS);
      Shell32.FolderItems items = FolderShell.Items();
      foreach(Shell32.FolderItem item in items)
      if (item.IsFolder)
      {
        m_IconFolder = ExtractIcon.GetIcon(item.Path, true);
        break;
      }
    }
    J'ai ensuite des fonctions qui sont liées ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private void treeView1_AfterSelect()
    private void listView1_ItemActivate()
    private void FillLocalView(Shell32.Folder folder)
    private void AddViewItem(Shell32.FolderItem item, ref int idImage)
    Comment peut-on remplacer par .NET ?

    Merci pour votre aide.

    Complément.

    Les icônes devant les fichiers dans listview sont fonctions du type de fichiers.
    Ex : un fichier toto.doc a pour icônes, l'icône de word, ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Je ne trouve pas ou est l'erreur dans mon programme
    Par stich51 dans le forum Général Python
    Réponses: 3
    Dernier message: 02/05/2014, 16h36
  2. Je ne comprends pas ou est l'erreur
    Par Nicobp dans le forum Requêtes
    Réponses: 1
    Dernier message: 05/05/2013, 15h16
  3. je ne comprends pas les message d'erreur g++
    Par emmesse dans le forum Autres éditeurs
    Réponses: 8
    Dernier message: 22/09/2006, 16h52
  4. Où est mon erreur ?
    Par Fusio dans le forum Langage
    Réponses: 5
    Dernier message: 07/04/2006, 17h29
  5. Réponses: 13
    Dernier message: 30/01/2006, 14h21

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