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

Langage Delphi Discussion :

Objet commun a plusieur DLL


Sujet :

Langage Delphi

  1. #1
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    744
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 744
    Points : 500
    Points
    500
    Par défaut Objet commun a plusieur DLL
    Voila ,je vais essayer d'être clair et vous exposer mon soucis ! j'ai un programme + des dlls qui pilote une machine via le port parallele.Pour se faire j'utilise " SmallPort "

    mon programme principal s'occupe de la gestion globale du projet et les dlls , elles executes des ordres via le port // pour piloter ma machine.

    Au debut avant que je ne doive utiliser des dlls , j'initialisai mon port // sous Xp au lancement de mon application . et tout ce passer bien !!

    Quand je suis passer par les dll , la seule solution que j'ai trouver et de compiler mes DLL avec l'unité SmallPort et de declarer un objet Tsmallport dans chacune d'elles afin que çà fonctionne.Ce qui revient a dire que chaque dll possede son propre handle du port ( je pense )

    Donc a ce jour a chaque appel a une fonction de la dll ,

    - j'initialise le port declarer dans la dll,
    - execute ma fonction via le port ,
    - et referme le port declarer dans le dll ( afin que je puisse le reouvrir avec un appel d'une autre dll)
    et ainsi de suite chaque fois que je fais appel a une dll.

    donc voila mon soucis les ordres que j'execute doivent etre rapide , et il s'avere que le temps d'initialisation de mon port // (environ 6ms) est superieur au temps des ordres que je peux envoyer sur le port , ce qui ralenti conciderablement le process .

    Donc je voudrais savoir si il est possible de declarer un objet , un handle, une variable .. dans mon programme principal qui pourrais etre lu par les dll ,
    En fait trouver un moyen de declarer l'objet Smallport de telle sorte que je l'initialise au depard de mon appli , et ceci de maniere a ce que mes dll sache l'uitiliser sans avoir besoin de le reinitialer a chaque fois que je rentre dans une dll.

    j'espere avoir etait assez clair , et si quelqu'un peu me tuyauter merci d'avance , et d'ailleur merci aussi a tous ce qui mon deja aidé !
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

  2. #2
    Membre chevronné
    Avatar de Pierre Castelain
    Inscrit en
    Avril 2002
    Messages
    523
    Détails du profil
    Informations forums :
    Inscription : Avril 2002
    Messages : 523
    Points : 1 943
    Points
    1 943
    Par défaut
    Simple, dans ta dll tu ajoute une variable de type TSmallPort (si c'est bien son nom). Tu ajoute également une procédure permettant de spécifier la valeur de cette variable, par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    SetSmallPort(ASmallPort: TSamllPort);
    begin
      FSmallPort:= ASmallPort; // Variable de la dll = argument
    end;
    C'est tout. Au lieu d'initialiser ton port à chaque fois, tu ne le fais qu'une seule fois (comme avant) et tu le passe à toutes tes dll.

  3. #3
    Membre confirmé

    Inscrit en
    Novembre 2002
    Messages
    744
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 744
    Points : 500
    Points
    500
    Par défaut
    Merci bien pierre !! avec quelques modifs et initialisations de plus çà marche bien ...
    Bye et bon code...

    Ce n'est pas tant l'aide de nos amis qui nous aide , mais notre confiance dans cette aide .

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

Discussions similaires

  1. [MFC] objet commun a plusieurs classes
    Par Info42 dans le forum MFC
    Réponses: 4
    Dernier message: 11/05/2006, 18h52
  2. Gestion de la mémoire entre plusieurs DLL
    Par Laurent Gomila dans le forum C++
    Réponses: 7
    Dernier message: 27/07/2004, 15h28
  3. Appel de plusieurs dll en statique
    Par jakouz dans le forum Langage
    Réponses: 6
    Dernier message: 28/06/2004, 10h09
  4. [JSP]session commune a plusieurs users!!!!
    Par Verbal-Quint dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 30/01/2004, 16h45
  5. Réponses: 27
    Dernier message: 03/02/2003, 12h27

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