How to use API for BullZip from VFP.

Below is a question and reply from BullZip .ocm . . .

Hi Michael,

Sorry. One setting one call. If you want to set multiple settings in a more elegant way then you can use the API.

On 25-12-2010 23:07, Michael wrote:
> Can the Bullzip Config be called and change  multiple at once, or does it have to be called separately for each setting ?
My question:
Does any body have the VFP coding for this?

I am using ShellExecute  to set 4 different values, and have to program a 1.5 second delay after each call so the file is closed and ready for the next one. This is annoying to the end users.

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Personally I never use ShellExecute when I use Bullzip.  

Instead I merely change the workstation default printer to Bullzip and let it do its work with I run my REPORT FORM <whatever> NOCONSOLE TO PRINT as it is configured to do.   Then I set the default workstation printer back to its former setting.  
By doing things in this manner I use the pre-configured output file name and location.  
So when I run it multiple times, the program always 'knows' where to find the output file and can rename it (and relocate it) to whatever I want it to be each time.

I wasn't aware of an API for Bullzip, but I just now Googled for   Bullzip ActiveX  and found that it does indeed exist ( ).  
If it does, then you would not use ShellExecute.  Instead you would use something like:  CreateObject("Bullzip") and work with the object's properties.   You would have to see if a property existed for the number of printouts and, if so, use it.

However since Bullzip creates a PDF file as its output, running it typically creates a single document file with a single file name.  
IF it were to create multiple copies how would it name the various copies of the same document?
Perhaps that might be a reason why it would not do so.

Good Luck
MichaelKatzAuthor Commented:
I use bullzip to set various, (4), parameters as selected by the end user.
So I need either shellexecute or the API method.

What I would appreciate is sample VFP code to implement the bullzip API, if it's not asking too much.

I guess that if it were me, I'd allow the user to input those parameter choices in a VFP form and then use them in conjunction with the Bullzip implementation that I am currently using.

But the flexibility of VFP allows for a good number of various (and most often equally functional) approaches.

After doing a Google search for    createObject("Bullzip.PDFPrinterSettings")   I found one 'find' that looks interesting.

Good Luck
Python 3 Fundamentals

This course will teach participants about installing and configuring Python, syntax, importing, statements, types, strings, booleans, files, lists, tuples, comprehensions, functions, and classes.

MichaelKatzAuthor Commented:
I do allow the user to input those parameter choices in a VFP form and then use them in conjunction with bzconfig.exe.

But, I have to run it one time for each call.

I'll look at the API link and hope I can figure it out.

Olaf DoschkeSoftware DeveloperCommented:
Actually, if you start the documentation from the start menu created by the bullzip pdfprinter installation, help is there at your fingertip:

It says the driver is compatible to bioPDF and you can use it's documentation, just you need to use CreateObject("Bullzip.PDFPrinterSettings") instead of CreateObject("bioPDF.PDFPrinterSettings").

And here's the start to the COM interface documentation of the bioPDF driver:

Bye, Olaf.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
MichaelKatzAuthor Commented:
Thanks Olaf,

The links are what I needed. Unfortunately, it is beyond my abilities. I will probably need to get some help.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.