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

Composants VCL Delphi Discussion :

[Delphi 7] Retirer Indy 9 pour mettre le 10


Sujet :

Composants VCL Delphi

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut [Delphi 7] Retirer Indy 9 pour mettre le 10
    Bonjour,

    je l'ai fait il y a plusieurs mois, mais je n'y arrive plus
    déjà sur le site officiel, plus de téléchargement des compo (j'ai du passer par github), plus de doc téléchargeable
    sur le forum, il n'y a pas vraiment de tuto, quant à la faq et la rubrique "comment installer indy 10", il y a juste une explication pour désinstaller la 9 et ensuite le paragraphe se termine par "puis vous installer indy 10"
    bref ...

    du coup, j'ai désinstaller la 9 depuis l'installation de windows 7 (modifier, puis décoché indy 9), mais là je bloque un peu pour indy 10
    j'ai copié les composants dans un dossier, j'ai lancé le bat qui a permis de créer le dossier D7, mais après ? que dois je faire ?
    j'ai trouvé rapidement sur un site espagnol des étapes à suivre, mais ça n'a pas vraiment abouti, j'ai eu les compo dans un onglet, mais à chaque fois que je voulais compiler j'avais des messages comme quoi il manque des lib ou autres dcu

    quelqu'un à la doc, ou peut me renseigner svp ?
    merci

  2. #2
    Rédacteur/Modérateur

    Avatar de SergioMaster
    Homme Profil pro
    Développeur informatique retraité
    Inscrit en
    Janvier 2007
    Messages
    15 031
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 15 031
    Points : 40 930
    Points
    40 930
    Billets dans le blog
    62
    Par défaut
    Bonjour,
    Citation Envoyé par Coussati Voir le message
    sur le forum, il n'y a pas vraiment de tuto,
    à ma souvenance il y a celui de Dany Leblanc (au temps pour moi il s'agit d'intraweb)
    j'ai trouvé rapidement sur un site espagnol
    En cual, me gustaria leer lo
    mais à chaque fois que je voulais compiler j'avais des messages comme quoi il manque des lib ou autres dcu
    Certainement l'oubli de mettre les chemins dans le liste des répertoires de recherche.
    Là il y a au moins deux écoles soit le faire pour le projet (dans les options) soit dans la variable d'environnement system PATH
    MVP Embarcadero
    Delphi installés : D3,D7,D2010,XE4,XE7,D10 (Rio, Sidney), D11 (Alexandria), D12 (Athènes)
    SGBD : Firebird 2.5, 3, SQLite
    générateurs États : FastReport, Rave, QuickReport
    OS : Window Vista, Windows 10, Windows 11, Ubuntu, Androïd

  3. #3
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    pour utiliser la dernière version de Indy voilà ce que je fais...

    dans C:\IndySockets je récupère via TortoiseGit le repo de Github
    dans mon projet Delphi, au niveau des chemins de recherche, j'ajoute: C:\IndySockets\Indy\Lib\Core;C:\IndySockets\Indy\Lib\System;C:\IndySockets\Indy\Lib\Protocols

    et le tour est joué.

    le seul problème, c'est si tu veux utiliser des propriétés des composants qui n'existaient pas en version 9 directement sur un composant dans la fiche...mais avec Indy je le fais rarement, j'ai pris l'habitude de créer mes composants à la main pour pouvoir mettre des commentaires et conditionner les choses en fonction de {$IFDEF DEBUG}...notamment si en mode debug j'utilise un serveur web local alors qu'en prod j'utilise un serveur web réel.

    d'ailleurs j'ai souvent une unité qui encapsule les requêtes Web (ou IP en général), c'est plus simple pour faire des modifications du style:
    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
     
    ...
    {$IFDEF MSWINDOWS}
     ,IdHTTP
     ,IdException
     ,Execute.IdSSLSChannel
     ,Execute.SChannel
     ,Execute.WinSSPI
    {$ENDIF}
    {$IFDEF ANDROID}
     ,Androidapi.JNI.JavaTypes
     ,Androidapi.JNIBridge
     ,Androidapi.JNI.Java.Net
     ,Androidapi.JNI.Java.Security
     ,Androidapi.Helpers
    ...
    type
      TCrossHTTPS = class
      private
      {$IFDEF MSWINDOWS}
        HTTP: TIdHTTP;
        SSL : TIdSSLIOHandlerSocketSChannel;
      {$ENDIF}
      {$IFDEF ANDROID}
        SSL : JSSLContext;
      {$ENDIF}
    ...
    {$ENDIF};
    comme je n'utilise plus OpenSSL sous Windows au profit de mon implémentation de SChannel, et que Indy n'est pas encore compatible avec la dernière version de OpenSSL de toute façon, sous Android je passe par le wrapper TJURL sur la classe Java...mais dans mon projet c'est TCrossHTTPS qui est utilisé partout, jamais directement Indy
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  4. #4
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    @SergioMaster, j'ai zappé le site

    @Paul TOTH, bingo ! l'installation a l'air de fonctionner, j'ai juste eu 2 problèmes :
    1/ ma fonction MD5 qui ne compilait plus, mais j'ai réussi à trouver un équivalent pour indy 10
    2/ j'utilise un TidHttp, et à l'exécution, j'ai un message "erreur lors de la lecture de Idhttp_requete.MaxlineAction : la propriété MaxlineAction n'existe pas" pourtant j'utilise à peine un .get sur ce compo ! j'ai supprimé le compo de la fiche, puis remis un similaire, en donnant le même nom que l'ancien, et on dirait qu'il n'y a plus d'erreur ! je ne peux pas encore confirmer parce que j'ai pas mal de TidHttp sur des fiches différentes, et donc je pense que je vais devoir faire la manip avec tous !
    c'est de ce genre de problème que tu parlais ? "le seul problème, c'est si tu veux utiliser des propriétés des composants qui n'existaient pas en version 9 directement sur un composant dans la fiche" ? d'ailleurs est ce que tu ne voulais pas dire plutôt "si tu veux utiliser des propriétés de la v9 qui n'existe plus sur la v10" ?

    merci à vous 2, j'ai avancé

  5. #5
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    en fait j'avais en tête une option HTTP qui a été ajouté en version 10, je n'ai plus le nom en tête c'est pour que les erreurs HTTP ne génères pas d'exception.

    mais en effet tu peux avoir le problème inverse (moins courant) d'une propriété qui n'existe plus
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  6. #6
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    en fait j'avais en tête une option HTTP qui a été ajouté en version 10, je n'ai plus le nom en tête c'est pour que les erreurs HTTP ne génères pas d'exception.

    mais en effet tu peux avoir le problème inverse (moins courant) d'une propriété qui n'existe plus
    ok, du coup tu proposes quoi comme solution ?
    créer dynamiquement les compo que j'utilise ? (du coup il n'y a rien sur la fiche et tout se fait par le code)
    effacer le compo, en mettant le même sur la fiche ? je trouve la chose pas très logique, mais on dirait que le message d'erreur a disparu (mais je n'ai pas testé sur tout)
    en faisant des recherches, j'ai déjà vu des idées comme quoi peut être certains paquets de indy 9 se chargeraient ? mais je ne vois pas comment, puisque je les ai désinstallé via l'installateur delphi ...

  7. #7
    Modérateur
    Avatar de tourlourou
    Homme Profil pro
    Biologiste ; Progr(amateur)
    Inscrit en
    Mars 2005
    Messages
    3 856
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Biologiste ; Progr(amateur)

    Informations forums :
    Inscription : Mars 2005
    Messages : 3 856
    Points : 11 290
    Points
    11 290
    Billets dans le blog
    6
    Par défaut
    Bonsoir,
    Quid de faire un class helper du TidHttp qui expose un champ de classe du nom et du type de la propriété disparue ?
    Ton code affectant la propriété correspondra à un DoNone mais tu n'auras plus de message d'erreur sans la peine de chercher et corriger toutes les occurrences
    A condition de pouvoir déclarer le class helper pour tout le projet : je ne sais pas si c'est faisable.
    Delphi 5 Pro - Delphi 11.3 Alexandria Community Edition - CodeTyphon 6.90 sous Windows 10 ; CT 6.40 sous Ubuntu 18.04 (VM)
    . Ignorer la FAQ Delphi et les Cours et Tutoriels Delphi nuit gravement à notre code !

  8. #8
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 430
    Points
    28 430
    Par défaut
    comme j'ai déjà dit "j'ai pris l'habitude de créer mes composants à la main" et "j'ai souvent une unité qui encapsule les requêtes Web...dans mon projet c'est TCrossHTTPS qui est utilisé partout, jamais directement Indy"
    Developpez.com: Mes articles, forum FlashPascal
    Entreprise: Execute SARL
    Le Store Excute Store

  9. #9
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    j'ai enfin réussi, du coup je vais poster la marche à suivre, ça aidera surement quelqu'un d'autre (si je n'ai rien loupé ou zappé biensur) :

    tout d'abord il faut supprimer les anciennes versions, pour indy 9 il suffit de lancer l'installateur et d'aller sur modifier, puis de décocher indy 9

    puis comme Paul l'a dit, commençons par ajouter les chemins :

    - ouvrir la boite de dialogue "répertoires" : composant >> installer un composant >> cliquez sur les ... dans chemin
    - ajouter les chemin : System, Core aet Protocols
    ex : C:\IndySockets\Indy\Lib\Core;C:\IndySockets\Indy\Lib\System;C:\IndySockets\Indy\Lib\Protocols

    ensuite :

    - compile System \ IndySystem70.dpk;
    - compile Core \ IndyCore70.dpk puis installe Core \ dclIndyCore70.dpk
    - compile Protocols \ IndyProtocols70.dpk puis installe Protocols \ dclIndyProtocols70.dpk

    et normalement tout devrait fonctionner, les anciennes sources devraient se compiler sans manquer de .pas ou .dcu

    concernant mon problème avec TidHttp, j'ai supprimé le composant de ma fiche, sans rien toucher au code, je rajouter à nouveau le composant depuis la palette, je donne le même nom que l'ancien, et je n'ai plus d'erreur !

    merci encore à vous 3 d'avoir participé à ce post

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

Discussions similaires

  1. A la recherche Indy 10 pour delphi 7
    Par Jhabli.Abdelkrim dans le forum Delphi
    Réponses: 11
    Dernier message: 15/03/2021, 22h06
  2. Indy 10 pour Delphi 7
    Par cantador dans le forum Delphi
    Réponses: 6
    Dernier message: 14/01/2019, 18h27
  3. Réponses: 2
    Dernier message: 18/09/2003, 13h46
  4. Réponses: 2
    Dernier message: 08/08/2003, 17h30
  5. Comment faire pour mettre l'ecran en veille ?
    Par March' dans le forum MFC
    Réponses: 6
    Dernier message: 29/08/2002, 14h25

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