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

Lazarus Pascal Discussion :

[0.9.31] Problèmes d'environnement avec FPC 2.6 [Lazarus]


Sujet :

Lazarus Pascal

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 390
    Par défaut [0.9.31] Problèmes d'environnement avec FPC 2.6
    Bonjour,
    Je suis un petit utilisateur de lazarus et j'ai fait mon apprentissage avec Delphi 4 ...donc c'est du vieux.
    Je développe pour moi ou mon environnement de petites appli avec sqlite et lazarus sous linux et pour certaines je les convertie sous xp.
    J'utilise la vers 0.9.31 de lazarus avec fpc 2.6 mais voila mes problèmes :
    1) j'utilise depuis longtemps une préparation de l'environnement de mes appli avec la définition de certains paramètres à la création de la fiche principale comme ci-joint
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    procedure TFautomarcel.FormCreate(Sender: TObject);
    begin
       // préparation de l'environnement
      ShortDateFormat:='DD/MM/YYYY';
      DateSeparator:='/';
      DecimalSeparator:=',';
    end;
    à la compilation j'ai des erreurs du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Symbol "Short DateFormat" is deprecated
    et naturellement des erreurs à l'execution
    Mon installation est une intallation de base les seules options modifiées de l'EDI sont la police de caractères et la définition de la place de make, jinstalle aussi le paquet sqlite3.

    Je me suis aperçu que j'ai une varaiable nouvelle dans mes unités, une variable de compilation me semble-t-il en rouge juste après le terme implementation

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    mplementation
     
    {$R *.lfm}
     
    { TFautomarcel }
     
    procedure TFautomarcel.FormCreate(Sender: TObject);
    begin
       // préparation de l'environnement
      ShortDateFormat:='DD/MM/YYYY';
      DateSeparator:='/';
      DecimalSeparator:=',';
    end;
    info que je n'ai pas avec les anciennes unités développées avec fpc 2.4.4.

    Ne lisant pas l'anglais je n'ai pas trouvé de solution si ce n'est de revenir à un ancien fpc et lazarus.
    Donc j'ai besoin d'un peu d'aide pour avancer et comprendre.
    Merci d'avance

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour Jean,

    C'est curieux en effet. J'ai ajouté les 3 lignes que vous précisez dans le Create de la Form (dans un nouveau projet) sous deux environnements différents.
    Voici les résultats obtenus :
    Win 32-Laz 0.9.31-FPC 2.6.1
    Options changed, recompiling clean with -B
    Hint: Start of reading config file G:\lazarus\0.9.31-35081-fpc-2.6.1-20120202\fpc\2.6.1\bin\i386-win32\fpc.cfg
    Hint: End of reading config file G:\lazarus\0.9.31-35081-fpc-2.6.1-20120202\fpc\2.6.1\bin\i386-win32\fpc.cfg
    Free Pascal Compiler version 2.6.1 [2012/02/02] for i386
    Copyright (c) 1993-2011 by Florian Klaempfl and others
    Target OS: Win32 for i386
    Compiling C:\Users\selzig\AppData\Local\Temp\project1.lpr
    Compiling unit1.pas
    unit1.pas(34,18) Warning: Symbol "ShortDateFormat" is deprecated
    unit1.pas(35,16) Warning: Symbol "DateSeparator" is deprecated
    unit1.pas(36,19) Warning: Symbol "DecimalSeparator" is deprecated
    unit1.pas(15,26) Hint: Parameter "Sender" not used
    Compiling resource lib\i386-win32\project1.or
    Linking C:\Users\selzig\AppData\Local\Temp\project1.exe
    61 lines compiled, 8.5 sec , 1192880 bytes code, 295148 bytes data
    3 warning(s) issued
    3 hint(s) issued
    Project "project1" créer avec succès

    Linux x86_64-Laz 0.9.31-FPC 2.7.1
    Options changed, recompiling clean with -B
    Hint: Start of reading config file /etc/fpc.cfg
    Hint: End of reading config file /etc/fpc.cfg
    Free Pascal Compiler version 2.7.1 [2012/03/06] for x86_64
    Copyright (c) 1993-2011 by Florian Klaempfl and others
    Target OS: Linux for x86-64
    Compiling /tmp/project1.lpr
    Compiling unit1.pas
    unit1.pas(34,18) Warning: Symbol "ShortDateFormat" is deprecated
    unit1.pas(35,16) Warning: Symbol "DateSeparator" is deprecated
    unit1.pas(36,19) Warning: Symbol "DecimalSeparator" is deprecated
    unit1.pas(15,26) Hint: Parameter "Sender" not used
    Compiling resource lib/x86_64-linux/project1.or
    Linking /tmp/project1
    /usr/bin/ld: warning: link.res contains output sections; did you forget -T?
    61 lines compiled, 5.4 sec
    3 warning(s) issued
    3 hint(s) issued
    Project "project1" créé avec succès
    Peut-être le problème apparaît-il uniquement en Laz 0.9.31-FPC 2.6.1 sous Linux ? Je pourrai tester demain matin. D'un autre côté, des "is deprecated" apparaissent en grand nombre lors de la compilation de Lazarus... Je ne sais pas si c'est vraiment inquiétant.

    Cordialement. Gilles
    Dernière modification par Invité ; 12/03/2012 à 16h21.

  3. #3
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 390
    Par défaut
    Merci pour ces essais, je précise que je suis en 32 bits sous fedora 15.
    Le message d'erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Symbol "Short DateFormat " is deprecated
    exitait peut-être avant mais come je n'avais pas d'erreur je n'y ai pas fait attention.
    Mais mon problème de varaiable d'environnement ne viendrait-il pas de la variable de compilation, nouvelle pour moi et dont je ne connais pas l'usage.
    En complément d'information je joins le début d'un de mes programmes qui me sert à faire une sauvegarde de mes données avec une variable de type integer qui dans une "boucle" case donne le chemin de la sauvegarde suivante avec un retour au premier chemin si le dernier était le sixième.
    Et avec ce fpc 2.6 il ya un plantage avec arrêt sur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XSAUVE_X:=StrToInt(MSAUVE_X);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    var
      Fautomarcel: TFautomarcel;
      MQ,MQ1,Q0,Q1,Q2,Q3,Q4,Q5,Q6,Q7,Q8:String;
      MSAUVE_A,MSAUVE_B,MSAUVE_C,MSAUVE_D,MSAUVE_E,MSAUVE_F,MSAUVE_X:String;
      MSOURCE,MDESTINATION,MCHEMIN,MBASE,MANNEE:String;
      XSAUVE_X:integer;
     
    implementation
     
    {$R *.lfm}
     
    { TFautomarcel }
     
    procedure TFautomarcel.FormCreate(Sender: TObject);
    begin
       // préparation de l'environnement
      ShortDateFormat:='DD/MM/YYYY';
      DateSeparator:='/';
      DecimalSeparator:=',';
    end;
     
    procedure TFautomarcel.FutureSauvegarde;
    begin
      if data.divers.RecordCount=1 then // le fichier n'est pas vide
      begin
      MSAUVE_A:=data.divers.FieldByName('SAUVE_A').AsString;
      MSAUVE_B:=data.divers.FieldByName('SAUVE_B').AsString;
      MSAUVE_C:=data.divers.FieldByName('SAUVE_C').AsString;
      MSAUVE_D:=data.divers.FieldByName('SAUVE_D').AsString;
      MSAUVE_E:=data.divers.FieldByName('SAUVE_E').AsString;
      MSAUVE_F:=data.divers.FieldByName('SAUVE_F').AsString;
      MSAUVE_X:=data.divers.FieldByName('SAUVE_X').AsString;
      XSAUVE_X:=StrToInt(MSAUVE_X);
        Case XSAUVE_X of
        1:
          begin
          MDESTINATION:='tablesA/';
          MSAUVE_X:='2';
          end;
        2:
          begin
          MDESTINATION:='tablesB/';
          MSAUVE_X:='3';
          end;
        3:
          begin
          MDESTINATION:='tablesC/';
          MSAUVE_X:='4';
          end;
        4:
          begin
          MDESTINATION:='tablesD/';
          MSAUVE_X:='5';
          end;
        5:
          begin
          MDESTINATION:='tablesE/';
          MSAUVE_X:='6';
          end;
        6:
          begin
          MDESTINATION:='tablesF/';
          MSAUVE_X:='1';
          end;
        end;
      end;
    ESauvegarde.Text:=MDESTINATION;
    ESauvegarde.Update;
    end;
    Cette forme de programmation, je l'utilise depuis plusieurs années sans problème pour définir la forme de certaines variables et me permettre une transposition simple sous XP
    C'est la seule façon que j'ai trouvé pour définir le format date, le séparateur de date et la virgule décimale.
    Comment faire avec fpc 2.6 ?
    A demain

  4. #4
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 390
    Par défaut
    Je trouvais la nouvelle définition des paramètres d'environnement au lieu de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ShortDateFormat:='DD/MM/YYYY';
      DateSeparator:='/';
      DecimalSeparator:=',';
    il faut définir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    defaultFormatSettings.DateSeparator:='/';
      defaultFormatSettings.DecimalSeparator:=',';
      defaultFormatSettings.CurrencyString:='DD/MM/YYYY';
    quand au problème avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    XSAUVE_X:=StrToInt(MSAUVE_X);
    c'est une erreur de conversion car dans mon fichier la variable MSAUVE_X est vide.

    Donc il ne reste plus que la fonction de compilattion

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    implementation
     
    {$R *.lfm}
     
    { TFautomarcel }
    et mes problèmes actuels seront résolus

  5. #5
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 390
    Par défaut
    Suite au message précédent pour avoir les mêmes résultats avec la date il faut utiliser
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    defaultFormatSettings.ShortDateFormat:='DD/MM/YYYY';
    pour avoir le format date avec les 8 chiffres.
    A+

  6. #6
    Membre prolifique Avatar de Jon Shannow
    Homme Profil pro
    Responsable de service informatique
    Inscrit en
    Avril 2011
    Messages
    4 759
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Responsable de service informatique
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2011
    Messages : 4 759
    Par défaut
    Citation Envoyé par ovni76 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
      defaultFormatSettings.CurrencyString:='DD/MM/YYYY';
    T'es sûr que c'est CurrencyString, ça ?

  7. #7
    Membre éclairé
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2008
    Messages
    390
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Juillet 2008
    Messages : 390
    Par défaut
    Et non,
    Voir ma réponse précédente avec la première version la date est en format je dirais court le 01/03/2012 est rendu en 1/3/10 c'est le pourquoi de ma dernière réponse pour avoir le format long.
    Je rappelle que je suis sous Linux et j'utilise ces paramètres pour ne pas avoir de problème de conversion vers XP.
    A+

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

Discussions similaires

  1. Problème d'environnements avec mvn install
    Par Elodie11 dans le forum Maven
    Réponses: 1
    Dernier message: 19/08/2013, 08h53
  2. Problème commande "\ref" avec l'environnement table
    Par zoncou dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 4
    Dernier message: 11/09/2010, 00h53
  3. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 18h02
  4. [Kylix] problème compilation kylix3 avec redhat 9.0
    Par madininaoursa dans le forum EDI
    Réponses: 1
    Dernier message: 02/07/2003, 16h21
  5. Problèmes de versions avec Xalan, Xerces et Java
    Par honeyz dans le forum XML/XSL et SOAP
    Réponses: 4
    Dernier message: 05/06/2003, 10h18

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