Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Cpptimer.fll and COM dll problems
Message
General information
Forum:
Visual FoxPro
Category:
Windows API functions
Title:
Cpptimer.fll and COM dll problems
Miscellaneous
Thread ID:
00244296
Message ID:
00244296
Views:
79
I downloaded the cpptimer.fll from the win32api files section to try and use as a replacement for VFP timers in a COM multi-threaded dll.

I have built a COM server based upon the the VFP sample pool manager. I am having some difficulties in using the cpptimer.fll.

I have written a small test program to see if it will meet my needs and I keep getting the same error from VFP 'internal error' when I try to use the cpptimers inittimers() function in a multi-threaded COM dll. Here is the catch. It works fine if I just instantiate my class from a procedure file or a COM exe, but if I instantiate it from a COM DLL, I get the 'internal error.' It also fails as a single threaded DLL. This is very similiar to the problems I was having using native VFP timers.

The full error text is: OLE IDispatch exception code 98 from (mydll) error in line 4 Internal error! 98...

The cpptimer version I am using was dated 12-29-99 in the zip file. I am using VFP 6 with SP3. I just read about 3 days ago that this .fll was suppose to work in .dlls

I am not sure what is going on here. I am hoping it is something I am doing wrong. I really need the functionality that cptimer.fll provides. I am using a dll so that I can deploy it with MTS.

I am including the test program I am running.

Thanks for taking a look at this.

Ron Hadler
hadlerboysen@earthlink.net

**********************************************************
define class dlltimer as custom olepublic
procedure setup
set library to cpptimer.fll additive
inittimers(1,100)
makepubvar(this)
setuptimer(1,1500,'gServer.timer()')
endproc

procedure timer
select 0
use test
insert into test (datetime, message) ;
values(datetime(), "Hit timer function")
use in test
endproc

procedure cleanup
release gServer
set library to
endproc

enddefine

procedure makepubvar(oServer)
*-make the class a public variable so that timer can call
*-the timer method of the class.
public gServer
gServer = OServer
return

* test table has two fields: datetime t, message c(25)
*
Reply
Map
View

Click here to load this message in the networking platform