Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   SendMail v. himitsu (https://www.delphipraxis.net/184757-sendmail-v-himitsu.html)

hanvas 19. Apr 2015 10:37

SendMail v. himitsu
 
Bei obiger, älteren Komponente die ich hier gefunden habe scheitert bei mir die Authentifzierung. Ich glaube den Fehler in Zeile 775 gefunden zu haben :

Delphi-Quellcode:
  SMTP.AuthType := TIdSMTPAuthenticationType(Ord(FAuthType));
und durch

Delphi-Quellcode:

  if (FAuthType = atSASL) then SMTP.AuthType := satSASL
                          else SMTP.AuthType := satDefault;
ersetzt habe funktioniert alles. Ich habe den Quellcode aber nicht wirklich weitergehend durchgeschaut.

Ich vermute das bei den Indy Komponenten (mal wieder) Quellcode Änderungen stattgefunden haben und der alte Quelltext dazu nicht passt. Da der Originalauthor hier mitliest habe ich die Hoffnung das er mir sagen kann ob meine Änderung richtig ist oder Gefahren birgt und ob evtl. noch andere ähnliche Fallstricke in seiner Komponente stecken.

Danke

Hans-Jörg

mkinzler 19. Apr 2015 12:37

AW: SendMail v. himitsu
 
ord() funktioniert so nur bei Ansi. Ich vermute diese Unit war für eine ältere Delphiversion gedacht

hanvas 19. Apr 2015 13:02

AW: SendMail v. himitsu
 
Zitat:

Zitat von mkinzler (Beitrag 1298396)
ord() funktioniert so nur bei Ansi.

Es geht doch gar nicht um Strings, sondern um zwei! unterschiedliche Enumerationen. An der fraglichen Stelle wurde ein Aufzählungstyp mit Hilfe von Ord umgewandelt und das Ergebnis in einen anderen Aufzählungstypen gecastet.

Zitat:

Zitat von mkinzler (Beitrag 1298396)
Ich vermute diese Unit war für eine ältere Delphiversion gedacht

Das ist ganz sicher so, und beim verwendeten Quelltext hat sich an dieser Stelle vermutlich die Reihenfolge und/oder Anzahl der Optionen von TIdSMTPAuthenticationType geändert (und wie so oft bei Indy nicht dokumentiert), allerdings weiss ich nicht welche Optionen in welcher Reihenfolge damals bei TIdSMTPAuthenticationType zur Verfügung standen und auch nicht ob das Problem noch an anderen Stellen auftauchen kann.

cu Ha-Jö

himitsu 19. Apr 2015 13:03

AW: SendMail v. himitsu
 
Ord passt schon, da es sich um einen Cast von einem Enum in einen anderen Enum hantelt,
aber da wurde im Indy der Enum wohl etwas umgebaut, so daß der Cast nicht mehr geht, da nun die beiden Werte vertauscht sind. :stupid:

Also ja, die Lösung wäre so richtig/besser.


PS: Du hättest vielleicht besser direkt in dem jeweiligen Thread antworten können, oder ihn hier zumindestens verlinken können.
http://www.delphipraxis.net/164880-s...component.html

hanvas 19. Apr 2015 14:45

AW: SendMail v. himitsu
 
Zitat:

PS: Du hättest vielleicht besser direkt in dem jeweiligen Thread antworten können, oder ihn hier zumindestens verlinken können.
Nächstesmal mach ichs besser :oops:

cu Ha-Jö

himitsu 19. Apr 2015 15:08

AW: SendMail v. himitsu
 
Liste der Anhänge anzeigen (Anzahl: 1)
Die 4 Stellen mit diesen Casts hab ich erstmal repariert, auch wenn die anderen Stellen "noch" funktionierten.

Werde dann nochmal drüberschauen und es danach auch im anderen Thread aktualisieren.

himitsu 19. Apr 2015 23:24

AW: SendMail v. himitsu
 
Liste der Anhänge anzeigen (Anzahl: 1)
Abgesehn vom unfertigen ReadMail-Teil hab ich mal versucht alle aktuellen Versionen zusammenzumergen. (mindestens XE3-XE7)

http://svn.geheimniswelten.de:8080/svn/SendMail/

hanvas 20. Apr 2015 12:38

AW: SendMail v. himitsu
 
Zitat:

Zitat von himitsu (Beitrag 1298440)
Abgesehn vom unfertigen ReadMail-Teil hab ich mal versucht alle aktuellen Versionen zusammenzumergen. (mindestens XE3-XE7)

Wenn ich mir die Urzeiten der Postings ansehe dann habe ich Dir Dein Wochenende mit Arbeit zerschossen :wink: Ein einfacher Hinweis hätte mir vollkommen gereicht. Danke.

Hast Du die Klasse eigentlich selbst noch im Gebrauch?

cu Ha-Jö


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:30 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz