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 :

Delphi/rad studio 11 : directive incomprise


Sujet :

Delphi

  1. #1
    Membre du Club
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Points : 53
    Points
    53
    Par défaut Delphi/rad studio 11 : directive incomprise
    Bonjour,
    je ne suis pas un un très habitué de delphi, et je dois refaire un programme donc nettoyer un code déjà existant dans delphi/rad studio 11.
    j'y ai trouvé le début de code suivant:
    unit construire;
    interface
    {modeswitch externalclass}
    uses
    JS,
    .........
    Je souhaite comprendre la directive <<{modeswitch externalclass}>>, d'autant plus que le compilateur signale erreur sur cette ligne: 'E1030 invalid compiler directive'
    Je voudrais donc savoir ce que veut dire cette directive. de prime abord j'ai pensé à un commentaire à cause de la présence des deux accolades, mais le compilateur me signale plutôt une erreur sur cette ligne.

    Veuillez m'excuser si la question peut paraître ridicule, je travaille plus avec c++ builder qu'avec delphi.
    Merci d'avance,
    cordialement,
    Dibak.

  2. #2
    Membre chevronné
    Avatar de free07
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mars 2005
    Messages
    941
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ardèche (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 941
    Points : 1 951
    Points
    1 951
    Par défaut
    Bonjour,

    Vu que je ne connais pas cette directive de compilation, j'ai fait une recherche de 'MODESWITCH' dans les sources de Delphi ( 10.2 ) et il n'a retrouvé cette directive que dans les sources Indy ( C:\Program Files (x86)\Embarcadero\Studio\19.0\source\Indy10\System ) et cette directive est en commentaires :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
      {$IFDEF WINDOWS}
      // .NET and Delphi 2009+ support UNICODE strings natively!
      //
      // FreePascal 2.4.0+ supports UnicodeString, but does not map its native
      // String type to UnicodeString except when {$MODE DelphiUnicode} or
      // {$MODESWITCH UnicodeStrings} is enabled.  However, UNICODE is not
      // defined in that mode yet until FreePascal's RTL has been updated to
      // support UnicodeString.  STRING_UNICODE_MISMATCH is defined in
      // IdCompilerDefines.inc when the compiler's native String/Char types do
      // not map to the same types that API functions are expecting based on
      // whether UNICODE is defined or not.  So we will create special Platform
      // typedefs here to help with API function calls when dealing with that
      // mismatch...
    Il y a d'ailleurs un $ avant 'ModeSwitch' et avec une recherche google, on ne la retrouve que pour le compilateur FreePascal. Est ce vraiment une directive qui a été utilisée avec des versions de Delphi ?

    En espérant que cela puisse un peu t'aider...

  3. #3
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 195
    Points : 41 422
    Points
    41 422
    Billets dans le blog
    63
    Par défaut
    Comme Free07, pour moi {modeswitch externalclass} n'est pas une directive mais, un simple commentaire.

    Le code tel que présenté, je l'ai mis dans une de mes unités, sans le $ aucun souci -> commentaire
    avec bien évidemment
    Nom : Capture.PNG
Affichages : 124
Taille : 14,6 Ko

    j'ai trouvé des références à la directive MODESWITCH pour FreePascal et encore je n'y vois pas EXTERNALCLASS
    mais aucune dans Delphi

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 758
    Points : 5 476
    Points
    5 476
    Par défaut
    La seul trace de {$MODESWITCH EXTERNALCLASS} que j'ai pu dénicher se trouve dans le Transpiler "Pas2js".

    Ce dépôt GitHub:
    https://github.com/Kryuski/pas2js-for-delphi

    Et un Wiki qui en parle :
    https://wiki.lazarus.freepascal.org/Pas2js_Transpiler

  5. #5
    Membre du Club
    Inscrit en
    Août 2003
    Messages
    110
    Détails du profil
    Informations forums :
    Inscription : Août 2003
    Messages : 110
    Points : 53
    Points
    53
    Par défaut
    Salut,
    merci bien pour vos indications.
    pour l'instant je vais considérer cela comme un commentaire, d'autant plus que l'erreur que le compilateur signale sur cette ligne ne semble pas empêcher l’exécution du code.

    cordialement,
    Dibak.

Discussions similaires

  1. Réponses: 29
    Dernier message: 17/12/2018, 19h22
  2. Réponses: 0
    Dernier message: 28/04/2014, 13h34
  3. Delphi RAD Studio XE2 et XCode
    Par Valnor dans le forum EDI
    Réponses: 4
    Dernier message: 05/10/2011, 08h40
  4. Réponses: 6
    Dernier message: 29/07/2011, 12h24
  5. Delphi RAD Studio XE : Echec à l'authentification
    Par colorid dans le forum Langage
    Réponses: 1
    Dernier message: 15/07/2011, 10h43

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