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 :

[D4] Tps traitement : Objet Automation dans Library


Sujet :

Langage Delphi

  1. #1
    Futur Membre du Club
    Inscrit en
    Mars 2002
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 6
    Points : 6
    Points
    6
    Par défaut [D4] Tps traitement : Objet Automation dans Library
    Bonjour,

    J’ai une application (appelons là MonMoteur) qui contient une vingtaine d’interfaces définies comme Objet Automation (les implémentations de mes interfaces sont du type
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    TMonInterface = class(TAutoObject,IMonInterface)
    ). Cette application a été développée en Delphi 4. L’idée de base était de pouvoir appeler cette application à partir de n’importe quelle application. Actuellement, une application utilise MonMoteur.

    Suite à un problème de droit avec des utilisateurs XP non admin de leur poste, MonMoteur a été passé en dll au lieu d’un exe. Pour cela dans MonMoteur.dpr, la directive « program » a été remplacée par « library » et la directive export a été ajoutée avec les méthodes DllGetClassObject, DllCanUnloadNow, DllRegisterServer, DllUnregisterServer. Suite à cette modification, nous n’avons rencontré aucun problème pour l’application qui utilise MonMoteur

    Actuellement, je développe une seconde application qui appelle MonMoteur de la même manière que la première pour faire le même type de traitement. La différence technique entre l’application actuelle et celle que je développe est que cette dernière est développée en tant que COM Server, car elle est appelée à partir d’une autre.

    Durant les premiers tests, je me suis rendu compte que les temps de traitement de MonMoteur étaient jusqu’à 4 fois plus longs quand je l’appelle avec ma nouvelle application que quand je l’appelle avec l’ancienne. Mais si je repasse MonMoteur en application, et non pas en dll comme actuellement, j’ai des temps de traitement normaux.

    J’espère que mes explications sont claires, c’est pas facile à expliquer !

    Pouvez-vous m’aider ?

  2. #2
    Membre régulier
    Inscrit en
    Octobre 2005
    Messages
    180
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 180
    Points : 107
    Points
    107
    Par défaut
    Est ce que le 2 progz utilise les mêmes dll en même temps?

  3. #3
    Futur Membre du Club
    Inscrit en
    Mars 2002
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 6
    Points : 6
    Points
    6
    Par défaut
    Non, lors de mes tests je n'utilisais qu'un seul programme.

    Je ne connais pas grand chose au profondeur de Windows, mais je me demande si ce n'est pas une histoire d'emplacement mémoire réservé qui serait différent dans le cas de l'exe et de la dll ce qui provequerait un genre de ralentissement...?

Discussions similaires

  1. Réponses: 0
    Dernier message: 23/04/2015, 16h37
  2. Réponses: 1
    Dernier message: 16/03/2007, 11h34
  3. Utiliser des objets automation dans Oracle
    Par WebPac dans le forum Forms
    Réponses: 10
    Dernier message: 29/11/2006, 20h17
  4. [Vb.net] Indexé un objet crée dans une boucle
    Par picpic dans le forum Windows Forms
    Réponses: 10
    Dernier message: 17/12/2003, 15h37
  5. Réponses: 3
    Dernier message: 09/02/2003, 02h09

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