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 :

Delphi10 et Indy10 : où est TidStreamVCL ?


Sujet :

Composants VCL Delphi

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2006
    Messages : 37
    Par défaut Delphi10 et Indy10 : où est TidStreamVCL ?
    Bonjour.
    Je dispose de Delphi10 Pro sous Windows 7 et donc de Indy10.
    Ma connection à Internet se fait par une LiveBox que j'ai configurée pour permettre l'accès entrant à mon poste en local.
    Je souhaite échanger un fichier avec des postes connectés sur internet.
    Dans la faq Delphi, "reisubar" donne une réponse complète à cette question en utilisant TidStreamVCL. Malheureusement, je ne dispose pas de cet objet dans ma version Pro de Delphi !!!!
    Mes recherches n'ayant pas abouti, ma question est donc :
    où peut-on trouver la dll contenant TidStreamVCL ?
    Merci d'avance.

  2. #2
    Membre Expert

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

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

    Informations forums :
    Inscription : Août 2002
    Messages : 1 296
    Par défaut
    Apparemment la classe est devenue: TIdStream

    Edit: j'ai dit une bêtise, ça m'apprendra à rechercher trop vite.

  3. #3
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 096
    Par défaut
    Delphi 10 = Delphi 2007 ?
    J'ai à la fois Indy 9 et Indy 10 dans mon dossier
    CodeGear\BDS\5.0\Source\Indy\Indy9\IdStream.pas - non trouvé
    CodeGear\BDS\5.0\Source\Indy\Indy10\System\IdStreamVCL.pas - J'ai au mieux une TIdStreamHelperVCL


    Citation Envoyé par cmali67 Voir le message
    Mes recherches n'ayant pas abouti, ma question est donc

    Pense à Rechercher du forum, on y trouve rapidement Undeclared identifer TIdStreamVCL dont les liens indique la suppression de cette classe TIdStreamVCL dont l'utilité semble discutable, son but était de simplifier le code entre Indy VCL et Indy.NET

    Il va falloir retirer cette classe intermédiare et manipulé directement le TMemoryStream !

    Citation Envoyé par cmali67 Voir le message
    où peut-on trouver la dll contenant TidStreamVCL ?
    Pourquoi parles-tu de DLL ?
    C'est soit dans un fichier .PAS comme IdStream.pas contenant TIdStream ou IdStreamVCL.pas contenant TIdStreamHelperVCL
    C'est soit dans un BPL si tu utilises la compilation avec paquet d'éxécution mais cela ne change pas le uses !
    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

  4. #4
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2006
    Messages : 37
    Par défaut
    J'aurais dû, c'est sûr, rechercher dans le forum, sauf que je n'avais pas vu la case "Recherche" !! Manque de pratique sans doute.
    J'ai utilisé TMemoryStream, avec SaveToFile et LoadFromFile.
    Si je lance l'envoi du fichier à partir du Client.exe en double clickant sur son icône vers le Serveur en mode déboguage, le transfert est parfait !!!!
    Mais si je lance l'envoi du fichier à partir du Client.exe vers le Serveur.exe en double-clickant sur leurs icônes respectives, le flux n'est pas récupéré par le serveur et le transfert ne se fait pas.
    Compte tenu de ma faible culture en informatique, il m'est impossible de comprendre ce phénoméne. J'ai toujours été convaincu que le fichier .exe en mode compilation par "F9" devait avoir le même comportement que le fichier .exe lancé en double-clickant sur son icône.
    Je reste donc bloqué et plus que perplexe, avec un futur bien sombre pour la suite de mon projet.
    Où peut bien se nicher l'erreur ?
    Merci d'avance pour vos éclairages.

  5. #5
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 096
    Par défaut
    tu indiques un nom complet de fichier : c:\dossier\sous-dossier\fichier.ext ?
    Entre F9 et double-clic, le dossier courant peut être différent, ainsi que les variables d'environnement
    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

  6. #6
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2006
    Messages : 37
    Par défaut
    Il ne peut s'agir d'un problème de nom de fichier puisque ça fonctionne en faisant F9.
    Pour l'environnement, pourquoi pas. Mais dans ce cas, comment fait-on pour s'en affranchir?
    Ne pourrait-il pas s'agir d'un problème dr Thread? J'ai en effet le serveur et le client sur mon PC et j'essaie de transférer un fichier d'un dossier (client) vers un autre dossier (serveur), sur le Host 127.0.0.1.
    Par ailleurs, j'envoie le fichier dans un MemoryStream et je le récupère dans un FileStream car je n'ai pas trouvé, dans l'aide, la méthode MemoryStream.SaveToFile.
    Mais, comme je l'ai dit, ça fonctionne parfaitement par F9 pour le Serveur et double clic sur le Client.exe.
    Merci d'avance.

  7. #7
    Membre averti
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2006
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vendée (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2006
    Messages : 37
    Par défaut
    J'ai placé un mémo sur la fiche Serveur pour y afficher les résultats de chaque ligne de code.
    Je constate
    -que le nom de fichier est bien transféré,
    -que le nom de fichier destination (NomFichier) est correct avec son chemin complet
    -mais que le flux n'est pas créé par fStream:= TFileStream.Create(NomFichier,fmCreate).
    Si je fais F9 sur Dephi, ce flux est créé sans problème.
    Voilà une information complémentaire qui peut peut-être aider pour trouver une solution.

  8. #8
    Expert éminent
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    14 096
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    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 : 14 096
    Par défaut
    Peut-être l'UAC avec son VirtualStore, les fichiers ini par exemple ne sont pas forcément là ou l'on pense !
    TFileStream renvoie une exception, tente un GetLastError (si c'est pas trop tard)
    tente un CreateFile (API Windows)
    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. Qu'est ce qu'un grand projet ?
    Par Geronimo dans le forum Débats sur le développement - Le Best Of
    Réponses: 62
    Dernier message: 04/04/2013, 14h52
  2. Quel est le meilleur script PHP de portail (CMS) ?
    Par Lana.Bauer dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 187
    Dernier message: 18/10/2012, 07h45
  3. Quelle est la fiabilité du protocole SSL ?
    Par Anonymous dans le forum Développement
    Réponses: 5
    Dernier message: 05/09/2002, 13h31
  4. apprentissage du C est-il necessaire pour C++ ?
    Par Anonymous dans le forum C
    Réponses: 6
    Dernier message: 02/05/2002, 12h56
  5. C'est quoi exactement un générateur d'états
    Par Henry Cesbron Lavau dans le forum Outils de restitution et d'analyse
    Réponses: 0
    Dernier message: 02/04/2002, 19h15

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