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

C++ Discussion :

C++ Python et GetFileVersionInfoSize


Sujet :

C++

Vue hybride

Message pr�c�dent Message pr�c�dent   Message suivant Message suivant
  1. #1
    Membre actif
    Inscrit en
    F�vrier 2005
    Messages
    53
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 53
    Par d�faut C++ Python et GetFileVersionInfoSize
    Bonjour a tous,

    Voila mon petit probleme:
    Depuis du Python j appelle une lib C++.
    Dans cette lib C++ on a unappel comme ca:
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
     
    WORD handle;
    std::string m_fileName("C:\Python26\python.exe");
    DWORD versionSize = GetFileVersionInfoSize( (LPCWSTR)(&m_fileName[0]), &handle );
    if ( !versionSize )
    	Throw ("BAD");
    Comme vous pouvez vous en doutez je ne peux pas modifier la lib C++ et je ne veux pas passer dans le Throw.

    Vous avez une idee pour recuperer un versionSize different de 0 sur python.exe ?

  2. #2
    R�dacteur

    Avatar de ram-0000
    Homme Profil pro
    Consultant en s�curit�
    Inscrit en
    Mai 2007
    Messages
    11 517
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 62
    Localisation : France, Haute Garonne (Midi Pyr�n�es)

    Informations professionnelles :
    Activit� : Consultant en s�curit�
    Secteur : High Tech - Op�rateur de t�l�communications

    Informations forums :
    Inscription : Mai 2007
    Messages : 11 517
    Par d�faut
    Ce code est un peu pourri et je ne suis pas surpris qu'il ne fonctionne pas.

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    std::string m_fileName("C:\Python26\python.exe");
    En C comme en C++, il faut d�sp�cialiser le caract�re backslash (\) en le doublant lorsque c'est un s�parateur de r�pertoire.
    La bonne syntaxe est : C:\\Python26\\python.exe

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    std::string m_fileName("peu importe");
    DWORD versionSize = GetFileVersionInfoSize( (LPCWSTR)(&m_fileName[0]), &handle );
    Ce code est un non sens car il masque un warning du compilateur qui signale une erreur de compr�hension du d�veloppeur.

    std::string est une string MBCS qui est cast�e (� la sauvage) en string Unicode, hors ce n'est pas du tout la m�me chose. De plus, la bonne mani�re pour r�cup�rer le contenu d'une string, c'est avec la fonction c_str(). Essaye ceci plut�t :
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    std::wstring m_fileName(L"peu importe");
    DWORD versionSize = GetFileVersionInfoSize(m_fileName.c_str(), &handle );
    Et si tu ne peux pas changer le code de ta librairie, change de librairie, cela t'�vitera d'autres d�boires.
    Raymond
    Vous souhaitez participer � la rubrique R�seaux ? Contactez-moi

    Cafuro Cafuro est un outil SNMP dont le but est d'aider les administrateurs syst�me et r�seau � configurer leurs �quipements SNMP r�seau.
    e-verbe Un logiciel de conjugaison des verbes de la langue fran�aise.

    Ma page personnelle sur DVP
    .

  3. #3
    Membre actif
    Inscrit en
    F�vrier 2005
    Messages
    53
    D�tails du profil
    Informations forums :
    Inscription : F�vrier 2005
    Messages : 53
    Par d�faut
    Merci de me dire que le code de la lib C++ est pourrie mais je le savais deja.

    Le pb vient du fait que python.exe ne contient pas les info windows.
    En utilisant pythonWin, l exe a toute les info demandes pas la lib C++.
    Donc tout marche.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [langage] traduction d'un fonction python en perl
    Par ay_pepito dans le forum Langage
    R�ponses: 3
    Dernier message: 04/12/2007, 15h06
  2. CORBA & PYTHON
    Par stan91stan dans le forum CORBA
    R�ponses: 5
    Dernier message: 10/06/2004, 12h32
  3. module .so pour python... ?!
    Par totoetlititi dans le forum Langages de programmation
    R�ponses: 2
    Dernier message: 09/03/2004, 14h51
  4. [Lien]erreur dans mon programme python
    Par durnambule dans le forum G�n�ral Python
    R�ponses: 11
    Dernier message: 29/01/2004, 14h59

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