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

Framework .NET Discussion :

Blocage de mon application sur des PCs 64 bits


Sujet :

Framework .NET

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 5
    Points
    5
    Par défaut Blocage de mon application sur des PCs 64 bits
    Bonjour à tous,

    Je travaille sur un logiciel développé en C++. Ce programme ayant un lourd historique, celui-ci combine des MFCs et des winforms et est compilé avec le framework .net 2.0.
    L'application est un client lourd avec connexion à une base de donnée.
    Mon problème est le suivant : lorsque l'application fonctionne sur un ordinateur 32 bits tout va bien. Par contre, déployée sur un poste 64, l'application bloque Windows durant les phases de chargements (connexion à la base ou traitement local un peu long). Que ce soit sous Xp ou Seven, le résultat est le même.

    Lors de ces tâches, une fenêtre avec une progress bar s'affiche à l'écran. Tant qu'elle n'est pas à 100%, il est impossible de réduire l'application. Si j’essaie de changer de programme avec Alt+Tab, la fenêtre avec la miniature des applications lancées apparait, mais cette dernière reste bloqué et ne répond pas si on maintient Alt et qu'on reappuie sur Tab.

    En debug pas à pas, sous visual studio 2008, depuis le code, je ne peux pas réduire visual. Si je le fais, visual studio se réduit bien mais ne veut pas passer au premier plan lorsque je clique dessus dans la bar des tâches. D'ailleurs aucune autre application ne passe au premier plan lorsqu'on clique dessus depuis labar des tâchesdéjà démarré le peut).

    De plus, durant ces phases, si j’essaie d'afficher le gestionnaire des tâches avec Ctrl+Alt+Supr, celui ci ne répond pas (il s'affiche mais impossible de changer d'onglet ou d'appuyer sur un bouton). La seule action qui me permet de débloquer le PC est de fermer la session (redémarrer ou éteindre Windows proprement ne fonctionne même pas).

    Je travaille avec deux écrans, et j'ai l'impression que seul l'explorateur Windows est impacté. Par exemple avec Firefox lancé sur l'autre écran, celui répond et fonctionne normalement durant le chargement ou le debug pas à pas de mon application.

    Encore une fois, sur une machine 32 bits aucun problème à noter.
    Quelqu'un a-t-il déjà eu ce genre de problème?

    Merci d'avance.

  2. #2
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Rencontre-t'on le même problème en configurant dans la propriété Target du projet la valeur X86 ?
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Dans la propriété "Ordinateur cible", j'ai bien la valeur "Machine X86" de sélectionné. La plateforme cible (que je sois en debug ou release) est bien Win32. Si j’essaie de compiler la solution avec la valeur à "Machine X64" vers la plateforme X64, j'ai moult erreurs de conversion type "static_cast", etc...

  4. #4
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Dans la terminologie de la version US de Visual studio, je selectionnerai:
    Platform: AnyCPU
    Platform target : X86

    Mais, je ne pense pas que cela résolve le problème.
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Mars 2010
    Messages
    349
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2010
    Messages : 349
    Points : 439
    Points
    439
    Par défaut
    Salut

    Quelle base de données utilises-tu ?

    As-tu mis des logs ?

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par champomy62 Voir le message
    Salut

    Quelle base de données utilises-tu ?

    As-tu mis des logs ?
    On se connecte avec 2 différents types de base (ça dépend des config). Principalement avec SQL Server ou Oracle, ici même combat, le freeze est bien là d'un type de base à l'autre.
    Et oui il y a des logs lors des accès en base (entre autre).


    Citation Envoyé par Graffito Voir le message
    Dans la terminologie de la version US de Visual studio, je selectionnerai:
    Platform: AnyCPU
    Platform target : X86

    Mais, je ne pense pas que cela résolve le problème.
    Je n'ai pas Any CPU dans la liste des plateforme. Du coup j'ai testé de la créer manuellement depuis le gestionnaire de configuration de VS. Le souci : soit je copie les paramètres depuis Win32 et rien ne change (tjs le blocage), soit je pars de paramètre vide ou de x64 et là ça ne compile pas.

    Est-ce qu'il est possible d'importer une plateforme? Dans la liste de ces dernières, il y a déjà :
    - Pocket PC 2003 (ARMV4)
    - SmartPhone 2003
    - Windows Mobile 5.0 Pocket PC SDK (ARMV4I)
    - Windows Mobile 5.0 Smartphone SDK (ARMV4I)
    - x64
    Peut-etre qu'il est possible d'importer AnyCPU depuis un existant?

  7. #7
    Membre chevronné

    Profil pro
    Chef de Projet / Développeur
    Inscrit en
    Juin 2002
    Messages
    598
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Chef de Projet / Développeur
    Secteur : Santé

    Informations forums :
    Inscription : Juin 2002
    Messages : 598
    Points : 2 020
    Points
    2 020
    Par défaut
    N'utilisant ni l'une ni l'autre des bases de données, je dis peut-être une bêtise, mais le problème ne peut-il pas être lié à l'aspect x86 ou x64 du fournisseur de données ?
    --
    vanquish

  8. #8
    Expert éminent Avatar de Graffito
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    5 993
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 5 993
    Points : 7 903
    Points
    7 903
    Par défaut
    Est-ce qu'il est possible d'importer une plateforme?
    Ceci me rappele quelque chose : https://msdn.microsoft.com/en-us/library/kwybya3w.aspx
    " Le croquemitaine ! Aaaaaah ! Où ça ? " ©Homer Simpson

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par vanquish Voir le message
    N'utilisant ni l'une ni l'autre des bases de données, je dis peut-être une bêtise, mais le problème ne peut-il pas être lié à l'aspect x86 ou x64 du fournisseur de données ?
    Je ne pense pas que ce soit lié. En effet une fois les données en mémoire (plus aucun accès à la base, toutes les connexions sont fermées), si je bloque le main thread de l'appli (avec un point d’arrêt en debug ou avec un plantage volontaire style nullpointer ou autre en release), j'ai ce problème de freeze...


    Citation Envoyé par Graffito Voir le message
    Je vais (encore) essayer de bidouiller dans le configuration manager, mais sans trop d'espoir...

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2015
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2015
    Messages : 10
    Points : 5
    Points
    5
    Par défaut
    Bonne nouvelle : problème résolu!

    Mon application, pour afficher les données de la base, utilise le composant SpreadSheet 7.0 de la société FarPoint Technologies.
    Allez savoir pourquoi, mais si on active les infos bulles sur les cellules du tableur, et qu'on lance, durant les traitements longs, une barre de chargement en premier plan, l'explorateur de windows freeze!
    Du coup avant d'afficher ma fenêtre de chargement, je désactive l'affichage des tooltips et les réactive en fin de traitement et là plus aucun problème sur mon poste 64 bits!

    Au cas où c'est la propriété suivante que je modifie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(bActiveToolTip)
    	m_wndTableur.SetTextTip(SS_TEXTTIP_FLOATING);
    else
    	m_wndTableur.SetTextTip(SS_TEXTTIP_OFF);

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/09/2008, 14h14
  2. réaliser une application sur des feuilles différentes
    Par jijie dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 10/11/2007, 13h05
  3. droits d'une application sur des dossiers
    Par gregcat dans le forum Sécurité
    Réponses: 5
    Dernier message: 16/08/2007, 11h10
  4. Réponses: 9
    Dernier message: 14/09/2006, 17h03
  5. installation de mon application sur un poste
    Par issam16 dans le forum Access
    Réponses: 6
    Dernier message: 08/08/2006, 17h15

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