Ed,
So:
>As far as speed, the library itself is fast, but VisFox is faster at native functions.
IOW, the equivalent of a simple statement, such as COPY TO FOR..., is slower in the C++ implementation than the same command in VisFox? Or does this apply only to situations where you are calling in the loop?
>> If you are planning on writing a FLL, try not the leave the library until all processing is done.
Actually, the need is more for an engine than a library, something that does a specific set of tasks. I don't see mixing native VFP and DLL calls. But the warning is well taken.
>> The switching between FLL library and VisFox code is very expensive. As long as the loop runs inside the C++ FLL it will be fast.
This is interesting that you say this. In beginning my experiments, I wrote a little dummy routine in C++ that would loop a few times and return, then built a DLL. I found that putting a call to this DLL inside a Fox loop like the following:
FOR k = 1 TO 100000
=MyDLLCall()
ENDFOR
could execute as fast as any other loop that did not involve a disk access, but that it slowed way down when I put a call into any optimizable expression, such as:
COPY TO... FOR (My Optimizable Expression) AND MyDLLCall()
The COPY TO runs at standard VFP speeds without the DLL call, but slows down by a factor of 10 with the DLL call.
Do you think there is a difference between the FLL and the DLL that could be causing you to see the expensive call? Are you attempting calls inside optimizable commands?
Thanks for the reply.