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

Langage Delphi Discussion :

Problème passage Delphi 7 à Delphi XE


Sujet :

Langage Delphi

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 9
    Points
    9
    Par défaut Problème passage Delphi 7 à Delphi XE
    Bonjour, je ne sais pas vraiment si je poste mon message au bon endroit, c'est le premier que je poste c'est pour cela. Je viens de découvrir ce site car je suis actuellement en stage et je peux vous dire qu'il m'a énormément dépanné ! Bravo et merci !

    Je vous explique donc mon problème : j'ai pour "mission" de migrer une application (plus de 50000 lignes de codes) crée sous Delphi 7, vers Delphi XE sous seven. Il y a donc le passage en Unicode qui m'a au préalable posé problème, mais j'ai rapidement trouvé la solution. Or la, je suis presque à la fin, il ne me reste plus que quelques erreurs et avertissements. Mais je suis en panne. Mon message d'erreur est le suivant : "W1000 Le symbole 'Time' est déprécié."
    Voici le code ou se trouve l’erreur (désolé je ne sais pas comment vous faites pour faire cela dans une nouvelle petite fenêtre )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    Function FichierModifie(NomFichier : String80; Var TimeFichier: Integer): Boolean;
     
    Var  Sr        : TsearchRec;
     
    Begin
      If (FindFirst(String(NomFichier), faAnyFile, Sr) = 0) And (Sr.Time (*erreur !!*) <> TimeFichier) Then
      Begin
        TimeFichier := Sr.Time;
        Result := TRUE;
      End Else Result := FALSE;
     
      FindClose(sr);
    End;
    Malheureusement ce n'est pas le seul problème ou je bloque...

    Merci d'avance pour votre aide.

  2. #2
    Membre chevronné

    Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 288
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Août 2002
    Messages : 1 288
    Points : 1 936
    Points
    1 936
    Par défaut
    D'après la documentation d'Embarcadero, il faudrait mieux utiliser:
    - TimeStamp et DateTimeToFileDate
    Delphi 7/XE2/XE3
    C#
    Oracle 9i à 12c
    SQL Server 2008 à 2014

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    Merci beaucoup ça marche ! J'ai réalisé qu'il y avait une aide exprès !
    Je vous embêtes encore avec un autre problème.
    Voici mon message d'erreur : [DCC Erreur] ImportGPAO.pas(390): E2010 Types incompatibles : 'OpenString' et 'string'.
    D'habitude pour ce type d'erreur ou d'avertissement, il me suffit de mettre String devant, placé au bon endroit. Le souci étant que je n'arrive pas à trouver d'info sur ce type "OpenString".

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     //** On cherche la gamme grace au nom indiquer par la GPAO
            //** On lit le code traitement renseigne dans la gamme
            If Gam_Existante(numAtelier, nomGamme, nomFG) Then
    J'ai quatre fois la même erreur et c'est à chaque fois la même ligne. Je précise que je ne suis pas l'auteur de l'application !

    Description de Gam_Existante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Function Gam_Existante(Four   : Integer;
                           Gam    : String;
                           Var fg : ShortString) : Boolean;
    nomGamme et nomFG sont tout les deux des string et NumAtelier : Integer = 1;

    Merci d'avance

  4. #4
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    nomGamme et nomFG sont tout les deux des string
    Donc implicitement des UnicodeString, possible qu'en utilisant des AnsiString la conversion vers ShortString sera plus aisée !
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Jura (Franche Comté)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2011
    Messages : 7
    Points : 9
    Points
    9
    Par défaut
    ShaiLeTroll, tout d'abord je te remercie, indirectement tu m'as aidé plusieurs fois ces dernières semaines avec tes posts sur ce site.
    Par contre, je ne saisi pas tout à fait, car je ne suis pas dans l'obligation de convertir tout les string non ? Juste les "String[80]" par exemple, deviennent des ShortString. Je n'ai pas compris ta réponse

    Après plusieurs essais, en supprimant "FileCtrl" dans le uses, les erreurs "OpenString à String" n'apparaissent plus. Je voulais donc savoir si quelqu'un pouvait m'expliquer à quoi cela pouvait-être due, qu'est-ce qu'il y a dans ce "FileCtrl" ? En sachant qu'avant la suppression j'avais le warning suivant : "W1005 L'unité 'FileCtrl' est spécifique à une plate-forme". Après cette suppression, une erreur apparaît :"[DCC Erreur] rxFileUtil.pas(434): E2003 Identificateur non déclaré : 'SelectDirectory'". Quelle est donc la meilleure solution ?! En vous remerciant d'avance

    Si je vous pose toutes ces questions, c'est parce que je suis un débutant en Delphi (4semaines) et mon maitre de stage et exceptionnellement absent 2 jours.

    Cordialement Alex.

  6. #6
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 459
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 459
    Points : 24 873
    Points
    24 873
    Par défaut
    FileCtrl est indispensable si tu utilises SelectDirectory

    Pour le ShortString ou String[80], n'ayant pas encore fait des tests à ce sujet en XE, je ne sais pas trop, il me semble que les deux sont AnsiString pour rétro-compatibilité donc sont rester ANSI contrairement au String qui est passé Unicode entre 7 et XE !

    Essaye de passer String[80] en AnsiString[80]
    Aide via F1 - FAQ - Guide du développeur Delphi devant un problème - Pensez-y !
    Attention Troll Méchant !
    "Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson" Confucius
    Mieux vaut se taire et paraître idiot, Que l'ouvrir et de le confirmer !
    L'ignorance n'excuse pas la médiocrité !

    L'expérience, c'est le nom que chacun donne à ses erreurs. (Oscar Wilde)
    Il faut avoir le courage de se tromper et d'apprendre de ses erreurs

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 17/01/2011, 18h03
  2. problèmes aide en ligne Delphi 2005
    Par philippe.vernhes dans le forum Delphi .NET
    Réponses: 4
    Dernier message: 25/10/2005, 19h35
  3. Passage de Delphi 7 à Delphi 2005
    Par Yepazix dans le forum EDI
    Réponses: 2
    Dernier message: 24/10/2005, 11h44
  4. Problème avec EInOutError sous delphi 2005
    Par Teb dans le forum Langage
    Réponses: 3
    Dernier message: 19/08/2005, 11h48
  5. Problème d'installation de Delphi 2005
    Par laclac dans le forum EDI
    Réponses: 1
    Dernier message: 29/07/2005, 12h53

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