>>The only other thing I can think of is to drop the " around the .DLL name, and to specify the full path of the .DLL if it's not on the Windows search path. The HANDLE is an unsigned 32 bit integer, and LPTSTR is a pointer to a null-terminated string.
>
>I tried that - no luck.
>
>>
>>Were you supposed to register this .DLL?
>
>I am only suposed to register the .DLL if I am using it as an Active X component. I didn't want to do that as I would have to do the same in the machines I install it in.
>
>The DLL has great potential for emailing reports from my application and they have one that prints in HTML too. The developer license is only $800 for unlimited use so relative to six+ copies of Adobe it is very economical also. Thus, I am willing to put in some effort to make it work. The versions I have are demo so I could send you a copy to experiment on also. Primarily, I started my questions here to eliminate any stupid mistakes before I call France. The manufacturer gives examples in VB & C++ so they may not know how to talk VFP.
>
You can mail it to me; one other approach would be to use CLSHEAP to create a buffer and hand you an address back to reference it. Using the current version of CLSHEAP I have here:
SET PROCEDURE TO MemMgr ADDITIVE
oHeap = CREATEOBJ('Heap')
DECLARE INTEGER PDFDriverInit IN "CDIntf.DLL" INTEGER szPrinterNameBuffer
nAddressOfBuffer = oHeap.AllocString("PDFPrinter")
nResult = PDFDriverInit(@nAddressOfBuffer)