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

LabVIEW Discussion :

Utilisation API Windows / création Thread


Sujet :

LabVIEW

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 16
    Par défaut Utilisation API Windows / création Thread
    Bonjour, je souhaite créer un Thread sous LabView en passant par l'API Windows (via kernel32.dll). Mon problème est le suivant : je ne sais pas comment passer un nom de fonction comme argument à la fonction CreateThread. Quelqu'un aurait-il des pistes à me proposer ?? Merci d'avance !

    PS : je sais bien que LabVIEW crée et gère automatiquement ses Threads, et que l'on peut gérer la priorité dans les propriétés du VI... mais j'ai l'impression de n'avoir aucun contrôle réel sur la gestion de ces Threads, et cela me gêne. Quand je travaillais en Delphi, je pouvais voir mon Thread (processus, c'est bien la même chose ?) s'afficher dans les processus du gestionnaire de tâches. Mais là rien, tout est transparent...

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2007
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 23
    Par défaut
    Bonsoir,

    je vous déconseille de créer vos propres threads pour exécuter un VI.

    En fait, chaque VI s'exécute dans ce que l'on appelle un système d'exécution (voir "propriété du VI" >> "Exécution"). Chaque système d'exécution est constitué d'un certain nombre de threads (le nombre dépend du nombre de processeurs) dans lesquels sont exécutés les VIs. Lorsque plusieurs VIs peuvent être exécutés simultanément, le système d'exécution choisira d'exécuter le VI le plus prioritaire.

    Si vous désirez avoir des informations, je vous conseillerais de vous référer à l'aide sur les systèmes d'exécution. Pour vous y rendre plus rapidement, le plus simple est de passer par le bouton "Aide" situé en bas de la fenêtre de propriété des VIs.

    Si vous désirez tout de même créer une thread via l'API Windows, vous devrez créer une dll contenant la fonction que vous désirez exécuter. Ensuite, vous devrez charger votre dll en utilisant la fonction "LoadLibrary". Vous obtiendrez alors un pointeur vers votre fonction en utilisant la méthode "GetProcAddress". Attention à bien libérer les ressources en utilisant la méthode "FreeLibrary".

    (cf. http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx)
    (cf. http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx)

    PS : un thread est un processus "léger". Un processus est constitué d'une zone de mémoire, d'une zone de code et d'une "pile" contenant des informations nécessaires à son exécution. Un thread est constitué d'une zone de code et d'une "pile" contenant des informations nécessaire à son exécution. Il ne possède pas de zone mémoire. Il utilise celle du processus dans lequel il s'exécute.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2011
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 16
    Par défaut
    Merci pour votre réponse et pour les explications. Je vais suivre votre conseil. Ayant fait beaucoup de recherches infructueuses en parallèle de ce forum, j'ai tendance à penser que pour avoir un contrôle réel sur ce qui se passe, le plus simple sera de changer de langage... je vais aller voir le C#...

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

Discussions similaires

  1. Thread api windows et borland
    Par zenux dans le forum Windows
    Réponses: 3
    Dernier message: 16/05/2007, 11h37
  2. [API Windows] Utiliser le hDC avec un EDIT
    Par Dev-FX dans le forum Visual C++
    Réponses: 3
    Dernier message: 07/04/2007, 15h53
  3. Créer Thread avec nouvelle console ? API Windows ?
    Par TimerMan dans le forum Windows
    Réponses: 4
    Dernier message: 26/11/2006, 23h27
  4. Réponses: 2
    Dernier message: 28/05/2006, 11h34
  5. Utilisation de Pointeurs dans API windows
    Par Drooxy dans le forum API, COM et SDKs
    Réponses: 4
    Dernier message: 13/03/2003, 22h39

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