>I'm trying to use MSCOMMLib.MSComm to read serial data from a printer. I have no problem using the control on a form. I would like to create the object before any forms are created so that I can read the status of the printer at all times. (I don't want to keep a form in the background just to contain this object.)
>
>At first I thought it would be as easy as this:
>
>Ocomm=createobject('mycomm')
>define class Mycomm as MSCOMMLib.MSComm
>proc oncomm
> **** code here
>endproc
>enddefine
>
>I get an error message class definition mycomm not found!
>
>I then found some other code that talked about binding events. So I tried this:
>
>PUBLIC lomodemcomm as MSCOMMLIB.MSComm
>loModemComm = Createobject("MSCOMMLib.MSComm")
>loModemComm.Settings='9600,n,8,1'
>lomodemComm.Handshaking=1
>oHandler=Newobject("myhandler")
>loVFPCOM = Newobject("VFPCOM.ComUtil")
>loVFPCOM.BindEvents(loModemComm, oHandler)
>lomodemComm.portOpen=.t.
>
>Define Class myhandler As custom
> Procedure oncomm
> ***code here
> endproc
>Enddefine
>
>When I run this code everything works until the event fires, then it crashes foxpro and want to send the dubug code to microsoft.
>
>Does anyone any infomation that could help me out...
>
>
>thanks
>Tim Boccaleri
Tim,
I can't test this now but should work:
define class myComControl as OleControl
OleClass = "MSCOMMLIB.MSComm"
Settings='9600,n,8,1'
Handshaking=1
Procedure OnComm
endproc
enddefine
Cetin