Hi Erik:
Tried something like that.
I put a timer in the class hoping that it would keep VFP6r running while
the winsock control talked to the SMTP server. In the timer event I checkd for CR/LF in the data received, signaling the end of that response.
MAILER.START_PROCESS
THIS.TIMER.INTERVAL = 100
THIS.CHECK_FLAG = .T.
TIMER.INTERVAL
IF THISFORM.CHECK_FLAG
IF (CHR(13) + CHR(10)) $ THISFORM.RECEIVED_DATA
THISFORM.CHECK_FLAG = .F.
THISFORM.PROCESS_DATA()
ENDIF
ENDIF
MAILER.PROCESS_DATA
PROCESS.....
...........
THIS.CHECK_FLAG = .T.
As you can see the timer is active at all times but it still jumpes out
exactly at the same place.
This project is 99% complete, obviously this is the only missing part.
Any more ideas?
TIA
>>Hi:
>>
>> I made a class based on form that has a MSWinsock control in it.
>> Using the winsock control I connect to a SMTP server to send emails.
>> It worked flawlessly until I tried to use it in a COM dll.
>>
>>
>>I tried to use READ EVENTS but READ EVENTS does not seem to work
>>inside the COM dll.
>>
>
>READ EVENTS is the command that tells VFP to go into a wait state ready for USER input. It relays processing control to the UI. VFP COM dll cannot have a UI. The Vfp6r.dll (the VFP runtime for single threaded COM servers) probably responds to a READ EVENTS by jumping out of the method, because a REASD EVENTS doesn't belong in a COM dll.
>
>If you want your COM server to wait and poll Winsock, just put in in a loop that checks the ready status of the WinSock control.
R. Davila
DBA / Network Administrator
Administracion de Fomento Comercial
Gobierno de Puerto Rico
Still waiting for FoxPro for LINUX