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

Free Pascal Discussion :

Erreur sur la procédure InitGraph dans un programme converti depuis Turbo Pascal [Free Pascal]


Sujet :

Free Pascal

  1. #1
    Futur Membre du Club
    Inscrit en
    Juillet 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 8
    Points : 6
    Points
    6
    Par défaut Erreur sur la procédure InitGraph dans un programme converti depuis Turbo Pascal
    Bonsoir,

    J'avais écrit un programme avec Turbo Pascal il y a plusieurs années et maintenant je viens juste d'installer Lazarus Free Pascal et quand j'ai voulu exécuter le programme (après quelques modifications), j'ai eu cette erreur :
    Error: Call by var for arg no. 2 has to match exactly: Got "LongInt" expected "SmallInt"
    et ça pointe sur la ligne de code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    InitGraph(pilote,mode,'C:\progra~1\lazarus');
    et c'est le mot MODE qui est sélectionné...

    Pourriez-vous m'aider à trouver ce qu'il faut faire ?

    Merci d'avance.

  2. #2
    Membre confirmé
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    235
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 235
    Points : 506
    Points
    506
    Par défaut
    Avec un extrait de ton code ce serait plus simple mais bon...

    Ta variable mode est de type LongInt (32 bits) alors que InitGraph attend en 2eme paramètre un SmallInt (16 bits).

    Il est possible que ta variable mode soit déclarée de type Integer. En Turbo Pascal cela marchait car le type Integer était équivalent au type SmallInt. En freepascal c'est moins simple. Le type Integer est soit un SmallInt (en mode fpc et en mode tp) soit un LongInt (en mode delphi et en mode objfpc).

    Tu dois pouvoir corriger ton problème en déclarant ta variable mode de type SmallInt. Tu peux aussi changer le mode du compilateur en plaçant la directive {$mode fpc} au début de ton code.

    Pour plus de détails je te conseille de lire :


  3. #3
    Futur Membre du Club
    Inscrit en
    Juillet 2011
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : Juillet 2011
    Messages : 8
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Merci infiniment pour ton aide ... ça fonctionne maintenant.

    Merci aussi à l'auteur des modifications de mon premier post ... je m'excuse au cas où je n'avais pas respecté d'éventuelles règles d'édition ...

    J'ai d'autres questions : l'une par rapport à la fenêtre d'exécution ... je ne sais pas si je devrais ouvrir un nouveau post ou la poser ici ?

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

Discussions similaires

  1. Erreur sur importation de données dans SSIS
    Par caballero dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 04/07/2007, 14h57
  2. erreur sur la requete present dans vba
    Par laurent.w dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 11/01/2007, 09h26
  3. Réponses: 3
    Dernier message: 08/11/2006, 17h56
  4. [VBA-E]Erreur sur suppression d'images dans excel
    Par bernard38 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 18/04/2006, 13h55
  5. Réponses: 4
    Dernier message: 14/06/2004, 16h18

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