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

Lazarus Pascal Discussion :

Problème avec "longword" sous Ubuntu [Lazarus]


Sujet :

Lazarus Pascal

  1. #1
    Membre confirmé
    Avatar de ChPr
    Homme Profil pro
    Inscrit en
    septembre 2005
    Messages
    1 501
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : France, Val d'Oise (Île de France)

    Informations forums :
    Inscription : septembre 2005
    Messages : 1 501
    Points : 642
    Points
    642
    Par défaut Problème avec "longword" sous Ubuntu
    Bonjour à toutes et à tous,

    Dans une procédure d'encryptage de la bibliotèque DCP, j'ai ce qui suit :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
      A:= PDword(@InData)^ + KeyData[0];
      B:= PDword(longword(@InData)+4)^ + KeyData[1];
    Sous Windows 10 64 bits, cela ne pose aucun problème. Sous Ubuntu 64 bits, ça plante. J'ai supprimé ce longword et maintenant, tout se passe apparemment bien.

    Pourquoi ce plantage et quel probable inconvénient de l'avoir supprimé ?

    Cordialement.

    Pierre

  2. #2
    Membre expert
    Avatar de BeanzMaster
    Homme Profil pro
    Amateur Passionné
    Inscrit en
    septembre 2015
    Messages
    1 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Amateur Passionné
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : septembre 2015
    Messages : 1 331
    Points : 3 310
    Points
    3 310
    Billets dans le blog
    2
    Par défaut
    Salut hum bonne question, à mon avis c'est un reste de conversion Delphi (alignement de l'adressage ? je ne sais pas si c'est le terme exacte) et que cette instruction n'est pas portable

    B:= PDword(longword(@InData)+4)^ + KeyData[1];
    Fait référence à la valeur suivante de (@InData)+4) si on veut transtyper, il serait-plus correct d'écrire B:=Longword(PDword((@InData)+4)^) + KeyData[1];mais ici B:= PDword((@InData)+4)^ + KeyData[1]; est correct DWord = LongWord

    Si quelqu'un passe par là, il pourras surement mieux t'expliquer que moi car je n'ai pas les termes techniques justes.

    A+

    Jérôme
    • "L'Homme devrait mettre autant d'ardeur à simplifier sa vie qu'il met à la compliquer" - Henri Bergson
    • "Bien des livres auraient été plus clairs s'ils n'avaient pas voulu être si clairs" - Emmanuel Kant
    • "La simplicité est la sophistication suprême" - Léonard De Vinci
    • "Ce qui est facile à comprendre ou à faire pour toi, ne l'est pas forcément pour l'autre." - Mon pèrei

    Mes projets sur Github - Blog - Site DVP

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

Discussions similaires

  1. Problème avec la librairie rfunc sous Firebird
    Par yayelix dans le forum SQL
    Réponses: 4
    Dernier message: 17/05/2005, 17h49
  2. problème avec une page web sous firefox!
    Par 3psilOn dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 24/11/2004, 12h49
  3. Problème de quotes sous PostGre
    Par Philhz dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 11/07/2004, 14h03
  4. Problème avec le port série sous Windows XP
    Par didou2dek dans le forum Composants VCL
    Réponses: 6
    Dernier message: 02/09/2003, 20h50

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