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 :

Python4Delphi, essais VCL et FMX


Sujet :

Delphi

  1. #1
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut Python4Delphi, essais VCL et FMX
    Bonjour,

    Ce matin je me lance. Après avoir installé Python et quelques bilbliothèques (opencv, plyer, firebird et pillow) je commence mes tests

    premier résultats en VCL pour tester la charge de ma batterie
    Nom : Capture.PNG
Affichages : 510
Taille : 30,2 Ko
    pas mal pour un noob en python
    Code python : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    from plyer import battery
    battery.get_state()
    taux.value=battery.status['percentage']
    print(f'batterie à {taux.value}%')
    encharge.value=battery.status['isCharging']
    if encharge.value :
        print('branché, en charge')
    else :
        print('non branché')
    cela écrit c'est lègèrement faux, en fait on détecte la charge pas le branchement quand on est à 100% et sur secteur

    du coup j'ai voulu tenté la même chose en FMX
    Nom : Capture_1.PNG
Affichages : 507
Taille : 13,9 Ko
    étrange
    Une idée ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Eurêka : en FMX j'ai fait "tourner" le programme en 64 bits, conclusion, c'est un problème de dll

    étonnant, alors qu'en VCL il n'y a pas de souci 32/64 bits, une idée de contournement ? Il y a bien la propriété PythonEngine.dllpath mais je ne vois pas trop où serait fourrée cette python33.dll
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 429
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 429
    Points : 24 794
    Points
    24 794
    Par défaut
    J'espère que python33.dll ce n'est pas celle ciblée par défaut, tu as surement une python310.dll qui traine et il doit tenter de charger toutes les DLL de 310 et 39 à 33, si il ne trouve rien c'est une erreur sur la plus ancienne cherchée.
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  4. #4
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Oui, normalement c'est la 310 qui est cherchée, aussi je ne comprends pas cette histoire de dll manquante surtout que, comme je l'indique cela fonctionne correctement avec VCL que ce soit en 32 ou 64 bits
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  5. #5
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Oui, normalement c'est la 310 qui est cherchée, aussi je ne comprends pas cette histoire de dll manquante surtout que, comme je l'indique cela fonctionne correctement avec VCL que ce soit en 32 ou 64 bits
    mais que ce soit FMX ou VCL si tu es en 32 ou 64 bits ça ne peut pas être la même DLL...il faut une DLL 64 bits pour un exe 64 bits et une DLL 32 bits pour un exe 32 bits.

    je ne connais pas les composants Python mais j'imagine que ce sont les mêmes en FMX et VCL non ? donc le fonctionnement doit être identique...est-ce que tu as placé la DLL quelque part ? est-ce qu'elle est incluse dans une ressource est déployée automatiquement ?
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  6. #6
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Pour répondre à tes questions Paul, j'ai installé Python (3.10) et PyScrypter puis j'ai utilisé getit pour installer Python4Delphi
    Rien de plus (enfin si, plusieurs bibliothèques Python mais ça c'est à part)
    J'imagine que l'installation de Python4Delphi à fait ce qu'il fallait ou fait ce qu'il faut pour retrouver la bonne dll
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  7. #7
    Membre du Club

    Profil pro
    senior scientist
    Inscrit en
    Mai 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : senior scientist

    Informations forums :
    Inscription : Mai 2003
    Messages : 79
    Points : 67
    Points
    67
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    Pour répondre à tes questions Paul, j'ai installé Python (3.10) et PyScrypter puis j'ai utilisé getit pour installer Python4Delphi
    Rien de plus (enfin si, plusieurs bibliothèques Python mais ça c'est à part)
    J'imagine que l'installation de Python4Delphi à fait ce qu'il fallait ou fait ce qu'il faut pour retrouver la bonne dll
    Bonsoir,
    Tout cela, suivant la configuration, peut être précisé dans le composant TPythonEngine (DLLPath, DllName, RegVersion).
    Mais je ne comprends pas la différence de comportement entre VCL et FMX.
    alx.

  8. #8
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 021
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 021
    Points : 40 932
    Points
    40 932
    Billets dans le blog
    62
    Par défaut
    Citation Envoyé par _alx_ Voir le message
    Mais je ne comprends pas la différence de comportement entre VCL et FMX.
    On est d'accord, cela me trouble à tel point que je vais utiliser mon anglais pour poser la question à l'auteur (fait, wait&see)

    juste pour info pyscrypter m'indique ces chemins
    Nom : Capture.PNG
Affichages : 459
Taille : 11,9 Ko
    comme c'est le même auteur j'imagine que la recherche est identique pour les composants ?
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  9. #9
    Membre du Club

    Profil pro
    senior scientist
    Inscrit en
    Mai 2003
    Messages
    79
    Détails du profil
    Informations personnelles :
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : senior scientist

    Informations forums :
    Inscription : Mai 2003
    Messages : 79
    Points : 67
    Points
    67
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par SergioMaster Voir le message
    On est d'accord, cela me trouble à tel point que je vais utiliser mon anglais pour poser la question à l'auteur (fait, wait&see)

    J'ai modifié le code VCL de la Demo01 pour FMX:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    uses
      Classes, SysUtils,
      Windows, Messages, Graphics, Controls, Forms, Dialogs,
      StdCtrls, ComCtrls, ExtCtrls,
      PythonEngine, Vcl.PythonGUIInputOutput;
    devient:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    uses
      System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
      FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.Memo.Types,
      FMX.StdCtrls, FMX.Controls.Presentation, FMX.ScrollBox, FMX.Memo,
      PythonEngine, FMX.PythonGUIInputOutput;
    Pour moi, le résultat est identique dans les deux versions en 32 et 64 bits (j'utilise Python 3.6.5)
    Je n'ai importé aucune bibliothèque: votre problème provient peut-être de là.
    alx.

Discussions similaires

  1. Réponses: 1
    Dernier message: 14/10/2016, 12h17
  2. XE7 - AssignPrn VCL et FMX différents ?
    Par Papy214 dans le forum Langage
    Réponses: 10
    Dernier message: 13/07/2015, 18h46
  3. XE7 - VCL et FMX : réaliser un paquet
    Par Invité dans le forum Delphi
    Réponses: 6
    Dernier message: 10/11/2014, 20h11
  4. Réponses: 0
    Dernier message: 17/04/2013, 21h21
  5. Composants pour VCL et FMX
    Par cadetill dans le forum Composants VCL
    Réponses: 1
    Dernier message: 07/01/2013, 10h52

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