D2005 et Indy [Résolu]

Messages postés
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
- - Dernière réponse : jlen100
Messages postés
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
- 29 mai 2006 à 13:10
bonsoir,

je viens de m'appercevoir que le code du module MAIL n'est pas portable
sous D2005 et INDY 10 (il ne se compile tout simplement pas)
Apparemment il y a eu une refonte complète du composant, comme il n'est
pas documenté ..... et que l'on ne peut pas installer la version
9  je ne sais plus à quel saint me vouer.

avant pour attacher un fichier on faisait:

  TIdAttachment.Create(IdMessage1.MessageParts,FileName);

maintenant cela ne fonctionne plus

sans parler de propriétés qui onr disparues j'en passe et des meilleures

Encore une chose à mettre au passif de D2005!!

si quelqu'un sait quelle est la procédure à suivre maintenant je lui en serait reconnaissant


@+

jlen
Afficher la suite 

20/47 réponses

Meilleure réponse
3
Merci
Si tu parles d'Indy10 : il est différent d'indy 9 sur beaucoup de
points et perso je trouve que l'évolution de ses composants est nul. Du
reste la version 10 est très peu documentée : va savoir pourquoi ??


Du reste moi qui chantait haut et fort les composants Indy, je commence
à changer d'avis : ils sont bourrés de beugs et utilisent bcp trop de
ressources mémoire à mon gout. Alors il y a ICS dont je suis
profondement allergique : a chaque fois qu'on les utlise on a
l'imrpession de faire un triple saut perieux avec quadruple salto
arrière. Enfin c'est du code de bourrin..


Pour répondre à ta question  : j'ai  passé un peu de temps
pour te trouver un lien. J'ai rien trouvé. Cependant sur le site
d'indyproject, tu trouvera un pdf avec toutes les fonctions d'Indy10
(plus de 1000 pages il me semble : bon courage : ) : voici le lien direct sur la documentation http://www.indyproject.org/Sockets/Docs/index.en.aspx


@+

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 6033 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Utilisateur anonyme
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
33
3
Merci
Salut,

Voici la solution pour joindre un fichier avec Indy10:

Ajouter à la clause uses :  IdAttachmentFile;
Et Modifier le :
TIdAttachment.Create(idMessage1.MessageParts,OpenDialog1.FileName);
En
TIdAttachmentFile.Create(idMessage1.MessageParts,OpenDialog1.FileName);

j'ai testé et ça fonctionne

@+
Cirec

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 6033 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Cirec
Messages postés
4200
Date d'inscription
samedi 16 octobre 2004
Statut
Modérateur
Dernière intervention
2 janvier 2019
26
0
Merci
simple :

D2005 > desinstallation
D7 > installation

^^

on peut vraiment programmer sur D2005  ?
Commenter la réponse de f0xi
Messages postés
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
7
0
Merci
salut foxi,

"programmer sur D2005?" c'est une question que je me pose de plus en plus.

le problème n'est pas exactement pour moi puique j'ai gardé D6 et D7
mais pour ceux qui voudront utliser la source que j'ai postée et qui
n'ont que D2005. (le module MAIL est inutilisable je n'ai plus qu'à
poster un avertissement )

C'est quand même un comble de ne pas assurer la compatibilité
ascendante et s'il faut se retaper toute la prog chaque fois qu'ils
changent de version bonjour les dégats enfin si quelqu'un sait comment
on utilise INDY maintenant je suis preneur.

Nota toutes les sources du site traitant de Indy sont obsolètes ou
presque Messieurs les développeurs vous n'avez plus qu'à faire exploser
vos neurores


@+

jlen
Commenter la réponse de jlen100
0
Merci
Salut JLen,


 Tu parles du composant SMTP sous Indy 10 ?


@+
Commenter la réponse de Utilisateur anonyme
Messages postés
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
7
0
Merci
salut francky

oui les composant idSMTP et idMessage

quand tu mets:

  TIdAttachment.Create(IdMessage1.MessageParts,FileName);

tu as droit à une belle erreur de compilation alors que sous D6/D7 cela
ne pose aucun problème d'ailleurs quand on charge la fiche confogmail
certaines propriété ne sont plus reconnues

adapter le prog si c'est possible me gêne dans la mesure ou les sources
et les composants diffèrent entre les versions avec compilation
conditionnelle et tout le B...l

si tu as les 2 versions charge le projet une fois sous D7 et une fois sousD2005 et tu comprendras mieux le dilemme


Si aucune solution satisfaisant les 2 versions n'est possible je
changerais de composant je crois  (mais il faut que je le teste )
que celui  de turbopower  doit convenir :  faut pas
déconner il ne sagit que d'envoyer un mail avec une photo attachée
c'est quand même pas  une révolution!!

j'ai l'imùpreession que la dernière version d'Indy à sérieusement
compliqué la procédure (enfin je n'ai pas tout compris au film!!)


@+

jlen
Commenter la réponse de jlen100
0
Merci
Je n'ai pas testé ta source sous D2005 mais ton problème à la
compilation ne m'étonne pas. car je sais qu'indy 10 est différent. Je
regarderai demain les différences entre les 2 versions via les pdf du
lien que je t'ai passé. Je contacterai aussi la team pour leur demander
pourquoi tout se remaniment avec ses problemes de portabilités que cela
a induit. Evidemment je vous ferait part de tout ca


Je confirme : la version 10 est tellement différente et tellement
compliquée qu'il faut mieux si on a le choix utiliser la version 9. Il
me semble en plus que dans la version 10 il persiste encore des beugs
(peut etre est ce le cas pour les pièces jointes).


Effectivement le composant de turbopower est compatible il me semble.
Et si je me trompe pas, je suis d'accord avec toi sur le fait que c'est
la meilleur alternative à ton problème. Enfin quand on pense qu'il
s'agit d'un simple mail il y a de quoi raler .


@+
Commenter la réponse de Utilisateur anonyme
Messages postés
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
7
0
Merci
salut Cirec, salut francky,


Cirec-->merci pour ta solution je vais tester cela (mais puisque tu
l'as déjà fait je n'ai pas de doute) il va me rester à faire la
compilation conditionnelle avant de reposter les sources.

Décidément ce sont les 2 modules optionnels qui me font C.... Si encore
ils étaient indispensables mais ce n'est même pas les cas.


Francky-->  je n'ai pas encore regarder le lien mais j'avoue
que potasser 1000 pages (22Mo!! une broutille) pour un malheureux mail
ne m'encourage pas à le faire d'autant que les applications internet ne
sont pas mon commaine de prédilection.


Quand je vois ce qu'il faut modifier pour envoyer un mail je n'ose même
pas imaginer les modifications pour une application complète client/
server: certainement de quoi se trier des plombs dans le slip!!

Et le minimum quand on fait de tels changement est de mettre avec le
composant une note d'explication avec les différences de
fonctionnalité  mais j'ai beau me crever les yeux  rien, que
dale pas même une note d'avertissement ou un lien . Une vraie misère

Ce n'est pas possible ils ont fait développer Indy10 pas des stagiaires pour en arriver à un tel point de C..


@+

jlen
Commenter la réponse de jlen100
Messages postés
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
7
0
Merci
je viens d'ouvrir la doc de Indy ce n'est 1000 pages mais 4876!!! ils sont fous ces ricains.

Cardiaques s'abstenir pour les autres

- se munir d'une résserve d'oxygène

-préparer plusieurs hectolitres de café

-passer à la paharmacie pour renouveler la réserve l'aspirine

-prendre plusieurs semaines de congé

-prévenir le psy

-prévenir les voisins

et si tu as réussi à tout comprendre tu auras droit à une médaille


franchement quand on en arrive à un tel niveau de connerie il vaut mieux changer de métier.


@+

jlen
Commenter la réponse de jlen100
0
Merci
Mdr JLen : 4000 pages et en Anglais. Allez JLen courage : tu en as vu d'autres . Mdrrrrr. Normalement tu dois pouvoir obtenir rapidement la page vers le SMTP.


Commme je te l'ai souligné avant Delphi9 commence à me faire vomir (et
oui c'est moi qui le dit). Il faut réaliser des modifs pour que des
procedures fonctionnent qui sont quasiment chirurgicales.


La solution de Cirec doit être bonne cependant je ne sais pas si c'est compatible avec D7 : c'est à tester.


@+
Commenter la réponse de Utilisateur anonyme
Messages postés
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
7
0
Merci
le problème c'est qu'il y a plusieurs possiblités:

Dxx+indy9--->compilation conditionnelle sur la version de Delphi

D2005+indy10--> idem

par si Dxx+indy10 la solution de Cirec doit fonctionner directement
mais je ne vois pas comment reconnaitre la version indy au niveau du
compilateur!!

par exemple j'ai D6 avec une version indy ...qui date de Matusalem D7
avec indy9 et D2005 avec indy10 (je n'ai pas le choix c'est la seule
qui soit instalable) et comme je ne veux ni surcharger la version de D6
ni celle de D7 pour des raisons évidentes de compatibilités avec mes
sources antérieures (je ne tiens pas à tout reprendre s'il faut que je
fasse de la maintenance dessus surtout que certaines tournent depuis
5/6ans). je serai certainement obligé de mettre 2 versions ce qui n'est
pas le top.


je retourne voir comment je peux arranger cela.


@+

jlen
Commenter la réponse de jlen100
Messages postés
459
Date d'inscription
lundi 19 avril 2004
Statut
Membre
Dernière intervention
8 avril 2009
1
0
Merci
Petite question, en plus d'avoir une doc imbitable et une floppée de bugs, indy, c'est pas le truc qui est truffé de MemoryLeak ?
Commenter la réponse de DeltaFX
0
Merci
Si DeltaFX et pour faire plaisir à JLen on est 2 à galéretr sur les composants Indy en ce moment . Tu peux passer ton code pour le mail JLen stp pour savoir ou tu en est ?
Commenter la réponse de Utilisateur anonyme
Messages postés
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
7
0
Merci
je te passe le code mais il se trouve dans l'appli videosurveillance dans l'unité U_Mail

mais maintenant il a un autre problème la composant SMTP n'a plus de
propriété AuthenticationType!! ils font de plus en plus fort!!


@+

jlen
Commenter la réponse de jlen100
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
33
0
Merci
Pour obtenir la version de Indy voici ce que je peu te proposer:

   ShowMessageFmt('Indy version : %s', [smtp.GetVersion]);

@+
Cirec
Commenter la réponse de Cirec
Messages postés
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
7
0
Merci
merci Cirec le problème c'est que j'en aurais besoin avant de compiler
pour choisr la bonne version de programme ou les options de compilation
mais je ne pense pas qu'au niveau du compliateur on puisse le faire.


@+

jlen
Commenter la réponse de jlen100
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
33
0
Merci
Je sais qu'il y a une directive
{$DEFINE Indy90}  // pour la version 9
{$DEFINE INDY100} // pour la version 10 
(qui se trouve dans le fichier :  IdCompilerDefines.inc  )
mais je ne l'ai pas encore utilisé
je pense qu'il faudra regarder dans cette direction

@+
Cirec
Commenter la réponse de Cirec
Messages postés
3809
Date d'inscription
vendredi 23 juillet 2004
Statut
Modérateur
Dernière intervention
1 septembre 2019
33
0
Merci
Pour la propriété AuthenticationType
Voici ce que j'ai trouvé :
   Smtp.AuthType := atDefault;

@+
Cirec
Commenter la réponse de Cirec
0
Merci
Une autre solution JLen mais elle ne va pas te  plaire :


Tu écris les deux procedures Indy9 et Indy 10 que tu mets entre {}.
L'utilisitateur active alors la procedure suivant sa version d'Indy en
enlever les { }. Mais bon ca reste assez critiquable comme
méthode.  Je sais d'avance qeu cela ne va pas te plaire et tu
auras raison


@+
Commenter la réponse de Utilisateur anonyme
Messages postés
1649
Date d'inscription
samedi 10 juillet 2004
Statut
Membre
Dernière intervention
25 juillet 2014
7
0
Merci
oui c'est ce que j'ai fait, mais avoue qu'il est quand particulièrement stupide d'avoir renomer cette propriété

pour la compilation conditionnelle ça n'ira pas il faut inclure le
fichier et pour cela il faut lui donner le chemin  et cela je
l'ignerais totalement quand on chagera les sources (ou alors il faut
que je mette le fichier dans les sources.


@+

jlen
Commenter la réponse de jlen100