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

VB.NET Discussion :

"pas de réponse" lors de l'éxécution d'une fonction d'un objet com


Sujet :

VB.NET

  1. #1
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Par défaut "pas de réponse" lors de l'éxécution d'une fonction d'un objet com
    Bonjour,

    ça fait plusieurs jours que je suis sur ce problème sans jamais trouver de solution...

    Je développe une maccro solidworks en VB.net, celle-ci utilise un objet COM provenant d'une dll que j'ai développé en c++. Les fonctions de cette objet COM sont assez longue a exécuter (parfois plus de 30secondes) et utilise également des boucles paralléliser (avec OpenMP).

    Mon problème c'est du coup que des que je lance une de ces fonctions au bout de 10sec le programme se met en pas de réponse, freezant visuellement mon interface. Vu que le code tourne dans la dll, on ne peut pas envoyer de réponse à l'UI avec un DoEvent...

    J'ai essayé de mettre la fonction dans un background worker mais vu que c'est un objet COM cela de marche pas. L'autre chose j'ai essayé c'est de faire un background worker qui accède à un intervalle de temps régulier à mon process pour voir si il répond mais quand il ne répond plus je n'arrive pas à forcer à répondre à nouveau. La seul solution que j'ai trouver c'est de changer la valeur de la clé de registre "HungAppTimeout", mais cela s'applique sur l'ensemble des softwares du pc alors que je voudrais juste l'appliquer sur mon code.

    Auriez vous une solution pour éviter le "pas de réponse"?

    le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     Public Sub LancerfonctionCOM()
     
           Dim maclasse as ClasseCOM = new ClasseCOM       
           maclasse.fonctionsuperlongue() 'temps >10sec
     
    end sub

  2. #2
    Candidat au Club
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Octobre 2019
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Par défaut
    La solution est de mettre
    DisableProcessWindowsGhosting()
    dans ma dll pour désactiver graphiquement l'effet du not responding

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

Discussions similaires

  1. [Python 3.X] Erreur 404 d'apache lors de l'éxécution d'une fonction ajax sur django
    Par Niche dans le forum Bibliothèques tierces
    Réponses: 0
    Dernier message: 11/04/2018, 11h03
  2. Problème lors de l'appel d'une fonction Tsql
    Par mobscene dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 23/07/2007, 15h56
  3. [MySQL] problème lors de l'appel d'une fonction
    Par jexl dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 27/06/2007, 09h53
  4. Réponses: 3
    Dernier message: 01/05/2007, 16h07
  5. [POO] Problème lors de l'appel d'une propriété d'un objet.
    Par akecoocoo dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 24/08/2005, 08h51

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