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

Autres IDE Pascal Discussion :

Conversion TFilenameEdit Delphi/rxToolEdit.pas vs Lazarus ? [CodeTyphon]


Sujet :

Autres IDE Pascal

  1. #1
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut Conversion TFilenameEdit Delphi/rxToolEdit.pas vs Lazarus ?
    Bonjour,
    J'ai installé ce week-end (et pour la première fois !) la dernière version de CodeTyphon v.4.5 ! Tout s'est bien passé ..
    Avec l'assistant de conversion projet Delphi en projet CodeTyphon, j'ai convertis un tout petit projet Delphi 7 en projet CodeTyphon (c.à.d Lazarus)
    J'ai un problème par rapport à un composant Rx nommé TFilenameEdit. Sous Delphi ce composant se trouve dans l'unité :
    ..\Rxlib2725\Units\rxToolEdit.pas
    Sous CodeTyphon, j'ai trouvé une classe qui porte le même nom TFilenameEdit !!! mais qui se trouve dans l'unité :
    C:\codetyphon\typhon\lcl\editbtn.pas
    Les 2 classes ont le même nom ! mais à la lecture du code, n'héritent pas de la même classe de base, et n'ont pas les mêmes propriétés et méthodes !
    Question : comment convertit-on, sous Lazarus la classe Rx (TFilenameEdit) ?
    PS : l'unité rxToolEdit.pas n'existe pas dans les unités des composants CodeTyphon (Rx) préinstallés !

    Merci.
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

  2. #2
    Membre régulier
    Homme Profil pro
    Inscrit en
    Mai 2003
    Messages
    33
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 33
    Points : 100
    Points
    100
    Par défaut
    Salut,

    Peut être simplement qu'il vaut mieux utiliser le composant proposé par défaut par Lazarus "TFilenameEdit" et d'adapter un petit peu le code pour que çà fonctionne.
    J'ai importé un gros projet de D7 dans Lazarus et j'ai bossé 15 jours au bas mot pour que çà fonctionne et je le regrette pas...

  3. #3
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut
    Merci pour ta réponse et de ton témoignage .. C'est rassurant.
    C'est exactement ce que je suis en train de faire ... je suis en train de revoir le code pour l'adapter à Lazarus.
    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

  4. #4
    Membre expérimenté

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2003
    Messages
    733
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2003
    Messages : 733
    Points : 1 668
    Points
    1 668
    Billets dans le blog
    8
    Par défaut
    Lors de la transformation de Delphi vers Lazarus la propriété ButtonWidth qui n'existait dans Delphi est resté à zéro du coup je ne voyais pas le bouton de sélection des fichiers.
    Pour corriger le problème j'ai effectué les quelques transformations suivantes
    Delphi --> Lazarus
    OnAfterDialog --> OnAcceptFileName
    puis j'ai défini la propriété ButtonWidth à une valeur différente de 0 (zéro) (exemple : 24) sinon on ne voit pas le bouton de sélection des fichiers !
    puis j'ai utilisé les 2 fonctions ExtractFilePath() et ExtractFilename appliquées au paramètre var "Value" du gestionnaire d'évènement AcceptFileName.
    Code Pascal : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    procedure TFrmMain.FilenameEdit1AcceptFileName(Sender: TObject;
      var Value: String);
    begin
      with Dbf1 do
      begin
        if Active then
          Close;
        FilePath := ExtractFilePath(Value);
        FilePathFull := FilePath;
        TableName := ExtractFileName(Value);
        Open;
      end;
    end;
    A+
    "Une idée mal écrite est une idée fausse !"
    http://hamid-mira.blogspot.com

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 31/12/2011, 13h17
  2. [Turbo Delphi] CRT pas prise en compte
    Par Fr33d0m_be dans le forum EDI
    Réponses: 2
    Dernier message: 17/08/2007, 21h25
  3. conversion c# delphi win32
    Par zobicket dans le forum Delphi
    Réponses: 6
    Dernier message: 25/01/2007, 20h33
  4. Conversion C++ -> Delphi
    Par tane dans le forum Delphi
    Réponses: 3
    Dernier message: 27/07/2006, 08h54
  5. Conversion VB -> Delphi
    Par khlh dans le forum Langage
    Réponses: 2
    Dernier message: 30/11/2005, 17h14

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