Hello Francois,

I don't use Application->ProcessMessages in entire application.

If event OnSessionClose may trigger (or may not trigger)
twice maybe these checks should be implemented inside SmtpCli component ?
Because it's looks like a serious bug.

---
With best regards, Max Terentiev.
Business Software Products.
AMS Development Team.
[EMAIL PROTECTED]


----- Original Message ----- 
From: "Francois PIETTE" <[EMAIL PROTECTED]>
To: "ICS support mailing" <twsocket@elists.org>
Sent: Sunday, July 30, 2006 6:24 PM
Subject: Re: [twsocket] Best event to start new Smtp session


>> Please tell me: HOW i can be 100% sure that Connection is closed,
>> Component
>> is ready and i can start new Session ? How to avoid wrong OnSessionClose 
>> ?
>
> You either have a look at the component source code and try to understand
> why there are two OnSessionClosed events, or you use a flag to remember 
> you
> already received OnSessionClosed and have to ignore the second one.
>
> Note that strange event ordering are frequently resulting from calling the
> message pump directly or indirectly from one of the events. And indirect
> message pump call occur in each modal window (frequently used to display
> values when debugging: don't do that).
>
> --
> Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html
> --
> [EMAIL PROTECTED]
> http://www.overbyte.be
>
>
>
> ----- Original Message ----- 
> From: "Max Terentiev" <[EMAIL PROTECTED]>
> To: "ICS support mailing" <twsocket@elists.org>
> Sent: Sunday, July 30, 2006 3:27 PM
> Subject: Re: [twsocket] Best event to start new Smtp session
>
>
>> Hello Wilfred,
>>
>> I try to post message inside OnSessionClosed...
>> But I notice another problem:
>>
>> I don't know why but OnSessionClosed called twice in some cases !
>>
>> This is a log of my Smtp session where you can see SmtpCli bug:
>>
>> Here is first session, it's sucessfully completed:
>> -----------------
>> Checking address: [EMAIL PROTECTED]
>> MX Resolved from cache
>> Connectng to 192.168.0.2
>> 220 Welcome to the mail server for mysite.com Sun, 30 Jul 2006 16:26:14
>> 0400
>> 250 mail.mail.ru Hello 192.168.0.1
>> 250 Current mail transaction reset
>> 250 , sender ok
>> 250  <[EMAIL PROTECTED]>
>> E-Mail Check Result OK
>> Call Smtp->Abort();
>>>>>Inside OnSessionClosed, Call PostMessage<<<
>> Posted Message Received by my WndProc handler, start checking next 
>> address
>>
>> -----------------
>> Checking address: [EMAIL PROTECTED]
>> Host Resolved from cache
>> Connectng to 192.168.0.2
>>>>>Inside OnSessionClosed, Call PostMessage<<<<<
>> ^^^^BUG - WHY IT'S TRIGGERED HERE ???^^^
>> 220 Welcome to the mail server for mysite.com Sun, 30 Jul 2006 16:26:14
>> 0400
>> Posted Message Received by my WndProc handler, start checking next 
>> address
>> ^^^^^^ It's wrong because wrong OnSessionClosed received !
>> -----------------
>>
>> As you can see OnSessionClosed triggered twice ! And from this
>> point program works incorrectly !
>>
>> Note: it's happens rarely. Program may check up to 10 000 emails before
>> it's happens. It's happens on random place.
>>
>> Please tell me: HOW i can be 100% sure that Connection is closed,
>> Component
>> is ready and i can start new Session ? How to avoid wrong OnSessionClose 
>> ?
>>
>> ---
>> With best regards, Max Terentiev.
>> Business Software Products.
>> AMS Development Team.
>> [EMAIL PROTECTED]
>>
>>
>> ----- Original Message ----- 
>> From: "Wilfried Mestdagh" <[EMAIL PROTECTED]>
>> To: "ICS support mailing" <twsocket@elists.org>
>> Sent: Sunday, July 30, 2006 12:19 PM
>> Subject: Re: [twsocket] Best event to start new Smtp session
>>
>>
>>> Hello Max,
>>>
>>> it has been a while I worked with TSmtpCli. Try to post a message from
>>> OnSessionClosed to custom message handler. The message hander take car
>>> of next connection.
>>>
>>> ---
>>> Rgds, Wilfried [TeamICS]
>>> http://www.overbyte.be/eng/overbyte/teamics.html
>>> http://www.mestdagh.biz
>>>
>>> Saturday, July 29, 2006, 15:06, Max Terentiev wrote:
>>>
>>>> Hello Wilfred,
>>>
>>>> But how I can detect that SmtpCli->Abort() is finished, component is
>>>> ready and I can call SmtpCli->Connect again for next message ?
>>>
>>> If I call SmtpCli->>Connect() IMMEDIATELY after SmtpCli->Abort()
>>>> I should receive "Component Not Ready" error, right ?
>>>
>>> If SmtpCli->>Abort() is called only OnSessionClose event is triggered
>>>> (OnRequestDone NOT triggered in this case).
>>>
>>>> So, to start new sessuion I must use OnSessionClose in case of Smtp
>>>> protocol
>>>> error/Abort and OnRequestDone in case of successfull sending (no Abort)
>>>> ?
>>>
>>>> ---
>>>> With best regards, Max Terentiev.
>>>> Business Software Products.
>>>> AMS Development Team.
>>>> [EMAIL PROTECTED]
>>>
>>>
>>>> ----- Original Message ----- 
>>>> From: "Wilfried Mestdagh" <[EMAIL PROTECTED]>
>>>> To: "ICS support mailing" <twsocket@elists.org>
>>>> Sent: Saturday, July 29, 2006 2:04 PM
>>>> Subject: Re: [twsocket] Best event to start new Smtp session
>>>
>>>
>>>>> Hello Max,
>>>>>
>>>>> Use OnRequestDone to trigger next sending, not OnStateChange or
>>>>> OnSessionClosed. Both latter are more for log or display updates.
>>>>>
>>>>> ---
>>>>> Rgds, Wilfried [TeamICS]
>>>>> http://www.overbyte.be/eng/overbyte/teamics.html
>>>>> http://www.mestdagh.biz
>>>>>
>>>>> Saturday, July 29, 2006, 11:48, Max Terentiev wrote:
>>>>>
>>>>>> Helo,
>>>>>
>>>>>> What is a best event for starting new Smtp session (e.g.
>>>>>> start sending next message after previous is sent or aborted)?
>>>>>
>>>>>> I was try to Use OnSessionClosed or OnStateChange events
>>>>>> (in OnStateChange i wait for SmtpCli->State==smtpReady and
>>>>> Smtp->>CtrlSocket->State=wsClosed).
>>>>>
>>>>>> But anyway i receive folowing errors time to time:
>>>>>
>>>>>> 1. Smtp component not ready
>>>>>> 2. Error in function WSACancelAsyncRequest - Invalid Argument
>>>>>> 3. Smtp component already connected
>>>>>> 4. Can't change socks port if not closed.
>>>>>
>>>>>> This errors happens time to time (program can work minutes or hours
>>>>>> before
>>>>>> it).
>>>>>
>>>>>> I not understand why it's happens ?
>>>>>
>>>>>> After sending message (or getting smtp protocol error during sending
>>>>>> message) I ALWAYS Call SmtpCli->Abort() and wait in OnStateChange
>>>>>> until connection closed and component is ready. After it I prepare
>>>>>> next
>>>>>> message and call SmtpCli->Connect(), etc.
>>>>>
>>>>>> Why I receive errors 1-4 ?? Maybe I must do something special ? How i
>>>>>> can ensure what connection is 100% closed and component 100% ready 
>>>>>> for
>>>>>> next
>>>>>> session ?
>>>>>
>>>>>> I NOT use Application->ProcessMessages inside SmtpCli events.
>>>>>
>>>>>> Please help... And excuse me for bad english.
>>>>>
>>>>>> ---
>>>>>> With best regards, Max Terentiev.
>>>>>> Business Software Products.
>>>>>> AMS Development Team.
>>>>>> [EMAIL PROTECTED]
>>>>>
>>>>>
>>>>> -- 
>>>>> To unsubscribe or change your settings for TWSocket mailing list
>>>>> please goto http://www.elists.org/mailman/listinfo/twsocket
>>>>> Visit our website at http://www.overbyte.be
>>>>>
>>>
>>>
>>> -- 
>>> To unsubscribe or change your settings for TWSocket mailing list
>>> please goto http://www.elists.org/mailman/listinfo/twsocket
>>> Visit our website at http://www.overbyte.be
>>>
>>
>> -- 
>> To unsubscribe or change your settings for TWSocket mailing list
>> please goto http://www.elists.org/mailman/listinfo/twsocket
>> Visit our website at http://www.overbyte.be
>
> -- 
> To unsubscribe or change your settings for TWSocket mailing list
> please goto http://www.elists.org/mailman/listinfo/twsocket
> Visit our website at http://www.overbyte.be
> 

-- 
To unsubscribe or change your settings for TWSocket mailing list
please goto http://www.elists.org/mailman/listinfo/twsocket
Visit our website at http://www.overbyte.be

Reply via email to