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

Delphi Discussion :

OLE dans un service écrit en DELPHI 7


Sujet :

Delphi

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 7
    Points
    7
    Par défaut OLE dans un service écrit en DELPHI 7
    Bonjour à tous,

    J'ai écrit un service qui fonctionne parfaitement (à un détail prèt...). Il doit effectuer deux taches régulières :
    1. Ecrire dans un fichier texte
    2. Se connecter et envoyer des informations sur un serveur OLE

    J'ai testé ces traitements dans une fiche indépendante lié à un projet "application" : impec.

    Puis en restant en pur service, je n'arrive pas à me connecter au serveur OLE, bien que j'ai mis CoInitialze(Nil) en première ligne de traitement.
    L'écriture dans un fichier fonctionne bien quant à elle.
    J'ai tout essayer pour le traitement OLE, en le mettant :
    • Dans une fiche indépendante créé par le service
    • Dans le thread du service (OnExecute)
    • Dans un Thread à part
    • Dans le traitement d'un timer inclus au Service

    J'ai toujours le même problème avec le message : Échec de l'exécution du serveur

    Quelqu'un a t il une idée ?
    merci

  2. #2
    Membre expert
    Avatar de Barbibulle
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    2 048
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 2 048
    Points : 3 342
    Points
    3 342
    Par défaut
    Bonjour,

    Est ce que ca ne serait pas un problème de droits ?

    Le service est exécuté avec les droits SYSTEM alors que quand vous créez une application elle est exécutée avec les droits de la session (donc de l'utilisateur).

    Peut être que votre serveur OLE ne peut pas être lancé par un process ayant les droits SYSTEM ?

    Je crois que pour voir et gérer les droits des composants DCOM c'est avec :


  3. #3
    Futur Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 7
    Points
    7
    Par défaut
    re bonjour,
    Oui c'était bien ça. En fait, dans DcomCnfg, en allant dans "Services de composants/Ordinateurs/poste de travail/configuration DCOM " puis sur mon serveur OLE, au moment de cliquer sur propriété, l'appli "DcomCnfg" me signale qu'il manque une clé dans la base de registre, j'ai accepté la mise à jour et mon service s'est mis à voir le serveur OLE.
    C'est cool, ça c'était sous XP.

    J'ai fait le même essai sur Windows 7 64bits.
    J'avais le même résultat qu'initialement sous XP, mais cette fois je ne trouve pas mon serveur OLE dans DcomCNFG, aussi bien dans Systeme32 que SYSWOW64.
    Louche non ?

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Juin 2014
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Directeur de projet
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 4
    Points : 7
    Points
    7
    Par défaut
    J'ai trouvé la raison pour laquelle je ne voyait pas mon serveur DCOM (qui est en 32 bits) dans DCOMCNFG :
    Il faut lancer cet utilitaire de la manière suivante :
    MMC comexp.msc /32

    Et là, ho miracle les serveurs OLE 32 bits apparaissent.
    Mais malheureusement pour mon cas, les réglages faits sous XP ne règlent pas les pb sous Windows 7 64bits.

    Je vais continuer à creuser en redémarrant Windows après un gros paquet de réglages, c'est ce qui m'a aider à régler le Pb sous XP

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

Discussions similaires

  1. recherche Bugg dans un service sous Delphi
    Par aladin95 dans le forum Langage
    Réponses: 2
    Dernier message: 25/02/2012, 09h13
  2. Utiliser un Dll delphi 2009 dans mon service Web
    Par Zalathorn dans le forum Services Web
    Réponses: 1
    Dernier message: 21/07/2009, 16h49
  3. Réponses: 1
    Dernier message: 28/04/2004, 19h36
  4. [VB6] Modification objet OLE dans Word sous VB
    Par zworg dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 23/02/2004, 08h20
  5. [VB6]Passage d'un tableau dans une DLL écrite en delphi
    Par flash dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 20/09/2002, 10h15

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