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 :

Adaptation pour XE2 du composant Mu-Console


Sujet :

Delphi

  1. #1
    Rédacteur/Modérateur

    Adaptation pour XE2 du composant Mu-Console
    Bonjour !

    Je souhaiterais pouvoir utiliser avec Delphi XE2 le composant mu-console, qui a été écrit pour Delphi 7. C'est un composant qui permet de communiquer avec une application console, par exemple (dans mon cas) avec un moteur de jeu d'échecs.

    J'arrive à installer le paquet dans XE2, à compiler le programme de démonstration, avec un seul avertissement :

    [DCC Warning] ConsoleIO.pas(300): W1057 Implicit string cast from 'AnsiString' to 'string'
    Mais le programme de démonstration ne fonctionne pas.

    J'ai essayé différentes modifications (remplacer "string" par "ansistring", etc.) mais je ne suis arrivé à rien. Pourriez-vous m'aider à rendre ce composant utilisable avec Delphi XE2 ?

  2. #2
    Rédacteur/Modérateur

    J'ai remplacé "string", "Char", "PChar" par "AnsiString", "AnsiChar", "PAnsiChar". J'ai remplacé également "CreateProcess" par "CreateProcessA" et "Pos" par "AnsiStrings.AnsiPos". Il y a des avertissements, mais le programme de démonstration semble fonctionner.

    Je poste le code dans son état actuel, au cas où quelqu'un voudrait le regarder et suggérer d'autres modifications. J'ai fait en sorte que toutes les modifications soient visibles.

    Au fait, qu'est-ce que ça veut dire, "platform" ?


  3. #3
    Membre expérimenté
    Citation Envoyé par Aide Delphi 7
    La directive de conseil platform sur un symbole ou une unité indique que cet élément risque de ne pas exister ou que son implémentation peut varier considérablement sur les différentes plates-formes

  4. #4
    Rédacteur/Modérateur

    @guillemouze

    Merci ! J'aurais dû consulter l'aide de Delphi 7. J'y penserai désormais.

  5. #5
    Membre expérimenté
    Citation Envoyé par Roland Chastain Voir le message
    @guillemouze

    Merci ! J'aurais dû consulter l'aide de Delphi 7. J'y penserai désormais.

    Il me semble que ça ne sert qu'à afficher un avertissement si tu as la directive
    {$WARN UNIT_PLATFORM ON}
    qui est la valeur par defaut il me semble, et rien de plus !

  6. #6
    Rédacteur/Modérateur

    Citation Envoyé par guillemouze Voir le message
    Il me semble que ça ne sert qu'à afficher un avertissement si tu as la directive
    {$WARN UNIT_PLATFORM ON}
    qui est la valeur par defaut il me semble, et rien de plus !
    D'accord, je vois. Merci pour l'explication.

  7. #7
    Rédacteur/Modérateur

    J'ai donc fait une version pour XE2 de mon projet UCIDemo. C'est une application qui exécute un moteur de jeu d'échecs (en l'occurrence Pharaon de Frank Zibi), lui passe des commandes et reçoit les réponses. C'est ce que font des applications comme Arena ou Tarrasch. Si ça intéresse quelqu'un :

    UCIDemo

    La version modifiée du composant MuConsole est incluse. Si vous avez des suggestions, je reste preneur.

###raw>template_hook.ano_emploi###