General information
Category:
Windows API functions
>>>>I am trying trying to call a DLL function. The VB code that works properly is as Follows:
>>>>
>>>>//////////////////////////
>>>>Declare Function FPInitialize% Lib "ETFAXD32.DLL" (lpdFaxHandle&)
>>>>
>>>>Private Sub Command1_Click()
>>>>
>>>> wstatus = FPInitialize(dFaxHandle)
>>>>
>>>>End Sub
>>>>/////////////////////////
>>>>
>>>>In this code, the value of dFaxHandle is properly assigned a Long Integer value, and wstatus is assigned 0, indicating success.
>>>>
>>>>I'm trying to do the samething in VFP 5.0. Here is the code for VFP:
>>>>
>>>>DECLARE INTEGER FPInitialize IN ETFAXD32 AS FpInitialize ;
>>>> Long @nFpHandle
>>>>
>>>>nStatus = FpInitialize(@nFaxHandle)
>>>>
>>>>As near as I can tell, this should return the samething, but a Long integer gets assigned to nFaxHandle(as I would expect) and a large integer gets assigned to wStatus, indicating failure.
>>>>
>>>>This seems simple enough, what am I missing here?
>>>>
>>>>Ed
>>>
>>>You need to initialize the nFaxHandle before the call to FpInitialize. VFP doesn't initialize variables passed as params to a DLL function.
>>>
>>>So, include a
>>>
>>>nFaxHandle = 0
>>>
>>>before nStatus = ...
>>>
>>>Vlad
>>
>>Sorry Vlad, I forgot to put that on this sample. I initialize nFaxHandle with 0 at the top of the program. Looking at it with the debuger I can see that it does indeed have the value of 0 prior to calling FPInitialixe(). Any other ideas?
>>
>>Ed
>
>It looks OK to me. What's the prototype for the function in DLL?
>
>Vlad
Vlad:
That I don't know. The VB example stated above came with the library. It works fine. That's what is so maddening. I can't think of what else to do.
Ed
Previous
Next
Reply
View the map of this thread
View the map of this thread starting from this message only
View all messages of this thread
View all messages of this thread starting from this message only