Einzelnen Beitrag anzeigen

SvenLittkowski

Registriert seit: 18. Dez 2004
98 Beiträge
 
#38

AW: Delphi: E-Mail-Versand / E-Mail-Formatierung

  Alt 6. Feb 2011, 07:47
Beim Kompilieren das folgende:

Zitat von Mein Delphi 7:
[Hint] IdIOHandlerStack.pas(222): Overriding virtual method 'TIdIOHandlerStack.ConnectClient' has lower visibility (protected) than base class 'TIdIOHandlerSocket' (public)
[Error] IdIOHandlerStack.pas(222): Declaration of 'ConnectClient' differs from previous declaration
[Error] IdIOHandlerStack.pas(223): Method 'ReadFromSource' not found in base class
[Error] IdIOHandlerStack.pas(227): Method 'CheckForDataOnSource' not found in base class
[Error] IdIOHandlerStack.pas(228): Method 'CheckForDisconnect' not found in base class
[Error] IdIOHandlerStack.pas(235): Undeclared identifier: 'TIdBytes'
[Error] IdIOHandlerStack.pas(234): Method 'WriteDirect' not found in base class
[Error] IdIOHandlerStack.pas(238): Property 'ReadTimeout' does not exist in base class
[Error] IdIOHandlerStack.pas(313): Undeclared identifier: 'Toss'
[Error] IdIOHandlerStack.pas(319): Undeclared identifier: 'Toss'
[Error] IdIOHandlerStack.pas(329): Incompatible types
[Error] IdIOHandlerStack.pas(330): Undeclared identifier: 'FTransparentProxy'
[Error] IdIOHandlerStack.pas(330): Incompatible types
[Error] IdIOHandlerStack.pas(331): 'THEN' expected but identifier 'Enabled' found
[Error] IdIOHandlerStack.pas(332): Missing operator or semicolon
[Error] IdIOHandlerStack.pas(333): Missing operator or semicolon
[Error] IdIOHandlerStack.pas(347): Too many actual parameters
[Error] IdIOHandlerStack.pas(359): Undeclared identifier: 'ConnectTimeout'
[Warning] IdIOHandlerStack.pas(359): Comparing signed and unsigned types - widened both operands
[Error] IdIOHandlerStack.pas(368): Incompatible types
[Error] IdIOHandlerStack.pas(369): 'THEN' expected but identifier 'Enabled' found
[Error] IdIOHandlerStack.pas(370): Missing operator or semicolon
[Error] IdIOHandlerStack.pas(389): Undeclared identifier: 'IfFalse'
[Error] IdIOHandlerStack.pas(390): Incompatible types
[Error] IdIOHandlerStack.pas(397): Undeclared identifier: 'FClosedGracefully'
[Error] IdIOHandlerStack.pas(417): Cannot read a write-only property
[Error] IdIOHandlerStack.pas(420): Cannot read a write-only property
[Error] IdIOHandlerStack.pas(426): Undeclared identifier: 'BindingAllocated'
[Error] IdIOHandlerStack.pas(430): Undeclared identifier: 'FRecvBuffer'
[Error] IdIOHandlerStack.pas(430): Incompatible types
[Error] IdIOHandlerStack.pas(435): Incompatible types
[Error] IdIOHandlerStack.pas(436): Undeclared identifier: 'Receive'
[Error] IdIOHandlerStack.pas(437): Incompatible types
[Error] IdIOHandlerStack.pas(439): Undeclared identifier: 'Intercept'
[Error] IdIOHandlerStack.pas(439): Operator not applicable to this operand type
[Error] IdIOHandlerStack.pas(440): Missing operator or semicolon
[Error] IdIOHandlerStack.pas(441): Incompatible types
[Error] IdIOHandlerStack.pas(451): Undeclared identifier: 'InputBuffer'
[Error] IdIOHandlerStack.pas(451): Missing operator or semicolon
[Error] IdIOHandlerStack.pas(455): Undeclared identifier: 'Toss'
[Error] IdIOHandlerStack.pas(459): Undeclared identifier: 'IfTrue'
[Error] IdIOHandlerStack.pas(461): Undeclared identifier: 'FClosedGracefully'
[Error] IdIOHandlerStack.pas(467): Undeclared identifier: 'IfTrue'
[Error] IdIOHandlerStack.pas(471): Operator not applicable to this operand type
[Error] IdIOHandlerStack.pas(486): Undeclared identifier: 'ClosedGracefully'
[Error] IdIOHandlerStack.pas(487): Undeclared identifier: 'BindingAllocated'
[Error] IdIOHandlerStack.pas(499): Undeclared identifier: 'FInputBuffer'
[Error] IdIOHandlerStack.pas(499): Incompatible types
[Error] IdIOHandlerStack.pas(500): ')' expected but identifier 'Size' found
[Error] IdIOHandlerStack.pas(502): Undeclared identifier: 'RaiseConnClosedGracefully'
[Error] IdIOHandlerStack.pas(542): Undeclared identifier: 'SetDefaultClass'
[Fatal Error] Unit2.pas(7): Could not compile used unit 'IdIOHandlerStack.pas'
Liegt's vieleicht an unterschiedlichen Delphi-Versionen?

Aber das spielt letztendlich keine so große Rolle. Ich habe einfach Deinen Code kopiert und in mein Programm eingefügt, und meinen eigenen Code erstmal disabled. So, Programm gestartet und Mailknopf gedrückt und - Programm stehengeblieben...

Ich habe dann alles disabled, und dann von vorne und von hinten zeilenweise den Code enabled. Ich fand heraus, daß der Befehl "IdSMTP.Connect;" wohl das Erstarren des Programmes bewirkt. Was kann das verursachen? Mangeldne Kommunikation zum Google-Server? Zu langsame Kommunikation? Falsche Einstellungen des GMail-Kontos? Werde nochmal das Programm laufen lassen, dieses Mal aber mehrere Minuten warten, ob sich die Starre wieder löst.

UPDATE

Interessantes Ergebnis: GMail riet, "465" als Port zu verwenden, doch erst als ich Deine "587" verwendete, hing sich das Programm nicht mehr auf. Jedoch bekomme ich nun einen SSL-Fehler. Folgende Zeile wird markiert:

raise EIdOSSLConnectError.Create(RSSSLConnectError); ("Error connecting with SSL") Datei: IDSSLOpenSSL, bei mir Zeile 1849

Geändert von SvenLittkowski ( 6. Feb 2011 um 08:14 Uhr)
  Mit Zitat antworten Zitat