We were discussing faxing from VFP - we have mostly decided that Zetafax
will meet our needs but are curious if printing a VFP 6 report directly to
Zetafax's print driver has been a problem for anyone. How have you dealt
with embedding fax number information, perhaps via a header band?

Many thanks in advance.

-S-

Re: Zetafax (Paul Pedersen) and printing reports directly by Paul

Paul
Thu Oct 21 16:08:16 CDT 2004

I did mine in VFP8, not 6. I can't see any obvious reason it wouldn't work
in 6, though.

Zetafax works a little differently than Winfax. When you print to the
Zetafax printer, it creates a "prerendered" output file in a known location.
You send the fax by creating a new zetafax message, setting attributes, then
attaching that file.

Here's a brief sample. Let me know if you need more.

ozf = CREATEOBJECT("zfapi32.zfapi") && unlike Winfax, this can be reused
ozfi = ozf.logon(some parameters, I forget what they are)
omsg = ozfi.createnewmsg
omsg.subject = "whatever" && this is used only in the cover sheet, if
there is one
omsg.recipients.addfaxrecipient("Joe Blow", "Joe's Company", "123-456-7890")
omsg.files.add(pathname of the prerendered file created earlier)
omsg.send

In the newest version of Zetafax, omsg.body now contains an id of that fax,
so you can query its status later if you want to.




"Steve Freides" <steve@fridayscomputer.com> wrote in message
news:2tqckuF22rro8U1@uni-berlin.de...
> We were discussing faxing from VFP - we have mostly decided that Zetafax
> will meet our needs but are curious if printing a VFP 6 report directly to
> Zetafax's print driver has been a problem for anyone. How have you dealt
> with embedding fax number information, perhaps via a header band?
>
> Many thanks in advance.
>
> -S-
>



Re: Zetafax (Paul Pedersen) and printing reports directly by Steve

Steve
Thu Oct 21 16:35:27 CDT 2004

Paul, I'm not the person doing the actual coding on this one; I've forwarded
your message along and will say "thank you _very_ much" for taking the time
to post it. I'll post a followup soon.

-S-

"Paul Pedersen" <no-reply@swen.com> wrote in message
news:%23w6pZI7tEHA.348@tk2msftngp13.phx.gbl...
>I did mine in VFP8, not 6. I can't see any obvious reason it wouldn't work
>in 6, though.
>
> Zetafax works a little differently than Winfax. When you print to the
> Zetafax printer, it creates a "prerendered" output file in a known
> location. You send the fax by creating a new zetafax message, setting
> attributes, then attaching that file.
>
> Here's a brief sample. Let me know if you need more.
>
> ozf = CREATEOBJECT("zfapi32.zfapi") && unlike Winfax, this can be
> reused
> ozfi = ozf.logon(some parameters, I forget what they are)
> omsg = ozfi.createnewmsg
> omsg.subject = "whatever" && this is used only in the cover sheet, if
> there is one
> omsg.recipients.addfaxrecipient("Joe Blow", "Joe's Company",
> "123-456-7890")
> omsg.files.add(pathname of the prerendered file created earlier)
> omsg.send
>
> In the newest version of Zetafax, omsg.body now contains an id of that
> fax, so you can query its status later if you want to.
>
>
>
>
> "Steve Freides" <steve@fridayscomputer.com> wrote in message
> news:2tqckuF22rro8U1@uni-berlin.de...
>> We were discussing faxing from VFP - we have mostly decided that Zetafax
>> will meet our needs but are curious if printing a VFP 6 report directly
>> to Zetafax's print driver has been a problem for anyone. How have you
>> dealt with embedding fax number information, perhaps via a header band?
>>
>> Many thanks in advance.
>>
>> -S-
>>
>
>



Re: Zetafax (Paul Pedersen) and printing reports directly by Bill

Bill
Thu Oct 21 18:29:34 CDT 2004

Hi Paul -

Actually, I'm the guy doing the coding on this, and thanks for your
help, it's gotten me started.

I am running into a problem though with the logon command...

I can instantiate the original object with...

oZFAPI = CREATEOBJECT("zfapi32.zfapi")


but, when I try to run the logon method as follows...

oZFUserSession = oZFAPI.Logon("BILL", False)

it is looking for a variable named false, so I changed it to

oZFUserSession = oZFAPI.Logon('"BILL"', 'False')

since without the quotes, VFP thinks I'm passing a variable)

This gives me an error reading...

"OLE Dispatch exception code 0 from ZfAPI;;Logon(); API initialisation
has failed"


If I use this line instead...

oZFUserSession = oZFAPI.LogonAnonymous

Visual Foxpro crashes.

Any ideas?

Also, can you tell me what syntax you use for the logon command?

Thanks again.


-- Bill



On Thu, 21 Oct 2004 14:08:16 -0700, "Paul Pedersen"
<no-reply@swen.com> wrote:

>I did mine in VFP8, not 6. I can't see any obvious reason it wouldn't work
>in 6, though.
>
>Zetafax works a little differently than Winfax. When you print to the
>Zetafax printer, it creates a "prerendered" output file in a known location.
>You send the fax by creating a new zetafax message, setting attributes, then
>attaching that file.
>
>Here's a brief sample. Let me know if you need more.
>
>ozf = CREATEOBJECT("zfapi32.zfapi") && unlike Winfax, this can be reused
>ozfi = ozf.logon(some parameters, I forget what they are)
>omsg = ozfi.createnewmsg
>omsg.subject = "whatever" && this is used only in the cover sheet, if
>there is one
>omsg.recipients.addfaxrecipient("Joe Blow", "Joe's Company", "123-456-7890")
>omsg.files.add(pathname of the prerendered file created earlier)
>omsg.send
>
>In the newest version of Zetafax, omsg.body now contains an id of that fax,
>so you can query its status later if you want to.
>
>
>
>
>"Steve Freides" <steve@fridayscomputer.com> wrote in message
>news:2tqckuF22rro8U1@uni-berlin.de...
>> We were discussing faxing from VFP - we have mostly decided that Zetafax
>> will meet our needs but are curious if printing a VFP 6 report directly to
>> Zetafax's print driver has been a problem for anyone. How have you dealt
>> with embedding fax number information, perhaps via a header band?
>>
>> Many thanks in advance.
>>
>> -S-
>>
>


Re: Zetafax (Paul Pedersen) and printing reports directly by Anders

Anders
Thu Oct 21 19:12:04 CDT 2004

oZFUserSession = oZFAPI.Logon("BILL", 0)
?
-Anders

"Bill Leavy" <bleavy@optonline.net> wrote in message
news:67hgn05h85c0l8pjf1jvb2gquuasalu0e1@4ax.com...
> Hi Paul -
>
> Actually, I'm the guy doing the coding on this, and thanks for your
> help, it's gotten me started.
>
> I am running into a problem though with the logon command...
>
> I can instantiate the original object with...
>
> oZFAPI = CREATEOBJECT("zfapi32.zfapi")
>
>
> but, when I try to run the logon method as follows...
>
> oZFUserSession = oZFAPI.Logon("BILL", False)
>
> it is looking for a variable named false, so I changed it to
>
> oZFUserSession = oZFAPI.Logon('"BILL"', 'False')
>
> since without the quotes, VFP thinks I'm passing a variable)
>
> This gives me an error reading...
>
> "OLE Dispatch exception code 0 from ZfAPI;;Logon(); API initialisation
> has failed"
>
>
> If I use this line instead...
>
> oZFUserSession = oZFAPI.LogonAnonymous
>
> Visual Foxpro crashes.
>
> Any ideas?
>
> Also, can you tell me what syntax you use for the logon command?
>
> Thanks again.
>
>
> -- Bill
>
>
>
> On Thu, 21 Oct 2004 14:08:16 -0700, "Paul Pedersen"
> <no-reply@swen.com> wrote:
>
> >I did mine in VFP8, not 6. I can't see any obvious reason it wouldn't
work
> >in 6, though.
> >
> >Zetafax works a little differently than Winfax. When you print to the
> >Zetafax printer, it creates a "prerendered" output file in a known
location.
> >You send the fax by creating a new zetafax message, setting attributes,
then
> >attaching that file.
> >
> >Here's a brief sample. Let me know if you need more.
> >
> >ozf = CREATEOBJECT("zfapi32.zfapi") && unlike Winfax, this can be
reused
> >ozfi = ozf.logon(some parameters, I forget what they are)
> >omsg = ozfi.createnewmsg
> >omsg.subject = "whatever" && this is used only in the cover sheet, if
> >there is one
> >omsg.recipients.addfaxrecipient("Joe Blow", "Joe's Company",
"123-456-7890")
> >omsg.files.add(pathname of the prerendered file created earlier)
> >omsg.send
> >
> >In the newest version of Zetafax, omsg.body now contains an id of that
fax,
> >so you can query its status later if you want to.
> >
> >
> >
> >
> >"Steve Freides" <steve@fridayscomputer.com> wrote in message
> >news:2tqckuF22rro8U1@uni-berlin.de...
> >> We were discussing faxing from VFP - we have mostly decided that
Zetafax
> >> will meet our needs but are curious if printing a VFP 6 report directly
to
> >> Zetafax's print driver has been a problem for anyone. How have you
dealt
> >> with embedding fax number information, perhaps via a header band?
> >>
> >> Many thanks in advance.
> >>
> >> -S-
> >>
> >
>


Re: Zetafax (Paul Pedersen) and printing reports directly by Steve

Steve
Thu Oct 21 20:25:37 CDT 2004

Bill says it didn't work.

I say it was a nice try. :)

=S=

"Anders Altberg" <x_pragma@telia.com> wrote in message
news:OPlGdD9tEHA.260@TK2MSFTNGP11.phx.gbl...
> oZFUserSession = oZFAPI.Logon("BILL", 0)
> ?
> -Anders
>
> "Bill Leavy" <bleavy@optonline.net> wrote in message
> news:67hgn05h85c0l8pjf1jvb2gquuasalu0e1@4ax.com...
>> Hi Paul -
>>
>> Actually, I'm the guy doing the coding on this, and thanks for your
>> help, it's gotten me started.
>>
>> I am running into a problem though with the logon command...
>>
>> I can instantiate the original object with...
>>
>> oZFAPI = CREATEOBJECT("zfapi32.zfapi")
>>
>>
>> but, when I try to run the logon method as follows...
>>
>> oZFUserSession = oZFAPI.Logon("BILL", False)
>>
>> it is looking for a variable named false, so I changed it to
>>
>> oZFUserSession = oZFAPI.Logon('"BILL"', 'False')
>>
>> since without the quotes, VFP thinks I'm passing a variable)
>>
>> This gives me an error reading...
>>
>> "OLE Dispatch exception code 0 from ZfAPI;;Logon(); API
>> initialisation
>> has failed"
>>
>>
>> If I use this line instead...
>>
>> oZFUserSession = oZFAPI.LogonAnonymous
>>
>> Visual Foxpro crashes.
>>
>> Any ideas?
>>
>> Also, can you tell me what syntax you use for the logon command?
>>
>> Thanks again.
>>
>>
>> -- Bill
>>
>>
>>
>> On Thu, 21 Oct 2004 14:08:16 -0700, "Paul Pedersen"
>> <no-reply@swen.com> wrote:
>>
>> >I did mine in VFP8, not 6. I can't see any obvious reason it
>> >wouldn't
> work
>> >in 6, though.
>> >
>> >Zetafax works a little differently than Winfax. When you print to
>> >the
>> >Zetafax printer, it creates a "prerendered" output file in a known
> location.
>> >You send the fax by creating a new zetafax message, setting
>> >attributes,
> then
>> >attaching that file.
>> >
>> >Here's a brief sample. Let me know if you need more.
>> >
>> >ozf = CREATEOBJECT("zfapi32.zfapi") && unlike Winfax, this can be
> reused
>> >ozfi = ozf.logon(some parameters, I forget what they are)
>> >omsg = ozfi.createnewmsg
>> >omsg.subject = "whatever" && this is used only in the cover
>> >sheet, if
>> >there is one
>> >omsg.recipients.addfaxrecipient("Joe Blow", "Joe's Company",
> "123-456-7890")
>> >omsg.files.add(pathname of the prerendered file created earlier)
>> >omsg.send
>> >
>> >In the newest version of Zetafax, omsg.body now contains an id of
>> >that
> fax,
>> >so you can query its status later if you want to.
>> >
>> >
>> >
>> >
>> >"Steve Freides" <steve@fridayscomputer.com> wrote in message
>> >news:2tqckuF22rro8U1@uni-berlin.de...
>> >> We were discussing faxing from VFP - we have mostly decided that
> Zetafax
>> >> will meet our needs but are curious if printing a VFP 6 report
>> >> directly
> to
>> >> Zetafax's print driver has been a problem for anyone. How have
>> >> you
> dealt
>> >> with embedding fax number information, perhaps via a header band?
>> >>
>> >> Many thanks in advance.
>> >>
>> >> -S-
>> >>
>> >
>>
>



Re: Zetafax (Paul Pedersen) and printing reports directly by Paul

Paul
Thu Oct 21 22:06:06 CDT 2004

You have to use the standard "FoxPro False", which is .F.

oZFUserSession = oZFAPI.Logon('"BILL"', .F.)




"Bill Leavy" <bleavy@optonline.net> wrote in message
news:67hgn05h85c0l8pjf1jvb2gquuasalu0e1@4ax.com...
> Hi Paul -
>
> Actually, I'm the guy doing the coding on this, and thanks for your
> help, it's gotten me started.
>
> I am running into a problem though with the logon command...
>
> I can instantiate the original object with...
>
> oZFAPI = CREATEOBJECT("zfapi32.zfapi")
>
>
> but, when I try to run the logon method as follows...
>
> oZFUserSession = oZFAPI.Logon("BILL", False)
>
> it is looking for a variable named false, so I changed it to
>
> oZFUserSession = oZFAPI.Logon('"BILL"', 'False')
>
> since without the quotes, VFP thinks I'm passing a variable)
>
> This gives me an error reading...
>
> "OLE Dispatch exception code 0 from ZfAPI;;Logon(); API initialisation
> has failed"
>
>
> If I use this line instead...
>
> oZFUserSession = oZFAPI.LogonAnonymous
>
> Visual Foxpro crashes.
>
> Any ideas?
>
> Also, can you tell me what syntax you use for the logon command?
>
> Thanks again.
>
>
> -- Bill
>
>
>
> On Thu, 21 Oct 2004 14:08:16 -0700, "Paul Pedersen"
> <no-reply@swen.com> wrote:
>
>>I did mine in VFP8, not 6. I can't see any obvious reason it wouldn't work
>>in 6, though.
>>
>>Zetafax works a little differently than Winfax. When you print to the
>>Zetafax printer, it creates a "prerendered" output file in a known
>>location.
>>You send the fax by creating a new zetafax message, setting attributes,
>>then
>>attaching that file.
>>
>>Here's a brief sample. Let me know if you need more.
>>
>>ozf = CREATEOBJECT("zfapi32.zfapi") && unlike Winfax, this can be
>>reused
>>ozfi = ozf.logon(some parameters, I forget what they are)
>>omsg = ozfi.createnewmsg
>>omsg.subject = "whatever" && this is used only in the cover sheet, if
>>there is one
>>omsg.recipients.addfaxrecipient("Joe Blow", "Joe's Company",
>>"123-456-7890")
>>omsg.files.add(pathname of the prerendered file created earlier)
>>omsg.send
>>
>>In the newest version of Zetafax, omsg.body now contains an id of that
>>fax,
>>so you can query its status later if you want to.
>>
>>
>>
>>
>>"Steve Freides" <steve@fridayscomputer.com> wrote in message
>>news:2tqckuF22rro8U1@uni-berlin.de...
>>> We were discussing faxing from VFP - we have mostly decided that Zetafax
>>> will meet our needs but are curious if printing a VFP 6 report directly
>>> to
>>> Zetafax's print driver has been a problem for anyone. How have you
>>> dealt
>>> with embedding fax number information, perhaps via a header band?
>>>
>>> Many thanks in advance.
>>>
>>> -S-
>>>
>>
>



Re: Zetafax (Paul Pedersen) and printing reports directly by Paul

Paul
Thu Oct 21 22:19:51 CDT 2004

Woops, extra quotes in that one. Use this instead:

oZFUserSession = oZFAPI.Logon("BILL", .F.)


BTW, I'm running this app only on the machine that has the ZetaFax server
installed. I found it more trouble than it was worth to install the ZetaFax
clients on all the computers, especially since there are no other faxing
going from them. Those other computers enter the order information, and this
app scans the orders table and faxes out the confirmations.




"Paul Pedersen" <no-reply@swen.com> wrote in message
news:uYKwWQ%23tEHA.1464@TK2MSFTNGP15.phx.gbl...
> You have to use the standard "FoxPro False", which is .F.
>
> oZFUserSession = oZFAPI.Logon('"BILL"', .F.)
>
>
>
>
> "Bill Leavy" <bleavy@optonline.net> wrote in message
> news:67hgn05h85c0l8pjf1jvb2gquuasalu0e1@4ax.com...
>> Hi Paul -
>>
>> Actually, I'm the guy doing the coding on this, and thanks for your
>> help, it's gotten me started.
>>
>> I am running into a problem though with the logon command...
>>
>> I can instantiate the original object with...
>>
>> oZFAPI = CREATEOBJECT("zfapi32.zfapi")
>>
>>
>> but, when I try to run the logon method as follows...
>>
>> oZFUserSession = oZFAPI.Logon("BILL", False)
>>
>> it is looking for a variable named false, so I changed it to
>>
>> oZFUserSession = oZFAPI.Logon('"BILL"', 'False')
>>
>> since without the quotes, VFP thinks I'm passing a variable)
>>
>> This gives me an error reading...
>>
>> "OLE Dispatch exception code 0 from ZfAPI;;Logon(); API initialisation
>> has failed"
>>
>>
>> If I use this line instead...
>>
>> oZFUserSession = oZFAPI.LogonAnonymous
>>
>> Visual Foxpro crashes.
>>
>> Any ideas?
>>
>> Also, can you tell me what syntax you use for the logon command?
>>
>> Thanks again.
>>
>>
>> -- Bill
>>
>>
>>
>> On Thu, 21 Oct 2004 14:08:16 -0700, "Paul Pedersen"
>> <no-reply@swen.com> wrote:
>>
>>>I did mine in VFP8, not 6. I can't see any obvious reason it wouldn't
>>>work
>>>in 6, though.
>>>
>>>Zetafax works a little differently than Winfax. When you print to the
>>>Zetafax printer, it creates a "prerendered" output file in a known
>>>location.
>>>You send the fax by creating a new zetafax message, setting attributes,
>>>then
>>>attaching that file.
>>>
>>>Here's a brief sample. Let me know if you need more.
>>>
>>>ozf = CREATEOBJECT("zfapi32.zfapi") && unlike Winfax, this can be
>>>reused
>>>ozfi = ozf.logon(some parameters, I forget what they are)
>>>omsg = ozfi.createnewmsg
>>>omsg.subject = "whatever" && this is used only in the cover sheet, if
>>>there is one
>>>omsg.recipients.addfaxrecipient("Joe Blow", "Joe's Company",
>>>"123-456-7890")
>>>omsg.files.add(pathname of the prerendered file created earlier)
>>>omsg.send
>>>
>>>In the newest version of Zetafax, omsg.body now contains an id of that
>>>fax,
>>>so you can query its status later if you want to.
>>>
>>>
>>>
>>>
>>>"Steve Freides" <steve@fridayscomputer.com> wrote in message
>>>news:2tqckuF22rro8U1@uni-berlin.de...
>>>> We were discussing faxing from VFP - we have mostly decided that
>>>> Zetafax
>>>> will meet our needs but are curious if printing a VFP 6 report directly
>>>> to
>>>> Zetafax's print driver has been a problem for anyone. How have you
>>>> dealt
>>>> with embedding fax number information, perhaps via a header band?
>>>>
>>>> Many thanks in advance.
>>>>
>>>> -S-
>>>>
>>>
>>
>
>



Re: Zetafax (Paul Pedersen) and printing reports directly by Bill

Bill
Thu Oct 21 23:18:11 CDT 2004

Hi Paul -

I know I already tried the .F., but tried it again just to make sure,
and still get the

"OLE Dispatch exception code 0 from ZfAPI;;Logon(); API initialisation
has failed" error.

Just for the heck of it, I tried calling a property that should be
available at the same level as logon (from the oZFAPI object) so I
could rule out syntax mistakes on the logon command.

I called...

? oZFAPI.Version

which should return the version number and I got the same error...

"OLE Dispatch exception code 0 from ZfAPI;;Logon(); API initialisation
has failed"

So now I'm thinking that maybe the oZFAPI object didn't instantiate
properly, but when I check the debugger, it shows oZFAPI with a type
of object.

I'm baffled.

-- Bill






On Thu, 21 Oct 2004 20:19:51 -0700, "Paul Pedersen"
<no-reply@swen.com> wrote:

>Woops, extra quotes in that one. Use this instead:
>
>oZFUserSession = oZFAPI.Logon("BILL", .F.)
>
>
>BTW, I'm running this app only on the machine that has the ZetaFax server
>installed. I found it more trouble than it was worth to install the ZetaFax
>clients on all the computers, especially since there are no other faxing
>going from them. Those other computers enter the order information, and this
>app scans the orders table and faxes out the confirmations.
>
>
>
>
>"Paul Pedersen" <no-reply@swen.com> wrote in message
>news:uYKwWQ%23tEHA.1464@TK2MSFTNGP15.phx.gbl...
>> You have to use the standard "FoxPro False", which is .F.
>>
>> oZFUserSession = oZFAPI.Logon('"BILL"', .F.)
>>
>>
>>
>>
>> "Bill Leavy" <bleavy@optonline.net> wrote in message
>> news:67hgn05h85c0l8pjf1jvb2gquuasalu0e1@4ax.com...
>>> Hi Paul -
>>>
>>> Actually, I'm the guy doing the coding on this, and thanks for your
>>> help, it's gotten me started.
>>>
>>> I am running into a problem though with the logon command...
>>>
>>> I can instantiate the original object with...
>>>
>>> oZFAPI = CREATEOBJECT("zfapi32.zfapi")
>>>
>>>
>>> but, when I try to run the logon method as follows...
>>>
>>> oZFUserSession = oZFAPI.Logon("BILL", False)
>>>
>>> it is looking for a variable named false, so I changed it to
>>>
>>> oZFUserSession = oZFAPI.Logon('"BILL"', 'False')
>>>
>>> since without the quotes, VFP thinks I'm passing a variable)
>>>
>>> This gives me an error reading...
>>>
>>> "OLE Dispatch exception code 0 from ZfAPI;;Logon(); API initialisation
>>> has failed"
>>>
>>>
>>> If I use this line instead...
>>>
>>> oZFUserSession = oZFAPI.LogonAnonymous
>>>
>>> Visual Foxpro crashes.
>>>
>>> Any ideas?
>>>
>>> Also, can you tell me what syntax you use for the logon command?
>>>
>>> Thanks again.
>>>
>>>
>>> -- Bill
>>>
>>>
>>>
>>> On Thu, 21 Oct 2004 14:08:16 -0700, "Paul Pedersen"
>>> <no-reply@swen.com> wrote:
>>>
>>>>I did mine in VFP8, not 6. I can't see any obvious reason it wouldn't
>>>>work
>>>>in 6, though.
>>>>
>>>>Zetafax works a little differently than Winfax. When you print to the
>>>>Zetafax printer, it creates a "prerendered" output file in a known
>>>>location.
>>>>You send the fax by creating a new zetafax message, setting attributes,
>>>>then
>>>>attaching that file.
>>>>
>>>>Here's a brief sample. Let me know if you need more.
>>>>
>>>>ozf = CREATEOBJECT("zfapi32.zfapi") && unlike Winfax, this can be
>>>>reused
>>>>ozfi = ozf.logon(some parameters, I forget what they are)
>>>>omsg = ozfi.createnewmsg
>>>>omsg.subject = "whatever" && this is used only in the cover sheet, if
>>>>there is one
>>>>omsg.recipients.addfaxrecipient("Joe Blow", "Joe's Company",
>>>>"123-456-7890")
>>>>omsg.files.add(pathname of the prerendered file created earlier)
>>>>omsg.send
>>>>
>>>>In the newest version of Zetafax, omsg.body now contains an id of that
>>>>fax,
>>>>so you can query its status later if you want to.
>>>>
>>>>
>>>>
>>>>
>>>>"Steve Freides" <steve@fridayscomputer.com> wrote in message
>>>>news:2tqckuF22rro8U1@uni-berlin.de...
>>>>> We were discussing faxing from VFP - we have mostly decided that
>>>>> Zetafax
>>>>> will meet our needs but are curious if printing a VFP 6 report directly
>>>>> to
>>>>> Zetafax's print driver has been a problem for anyone. How have you
>>>>> dealt
>>>>> with embedding fax number information, perhaps via a header band?
>>>>>
>>>>> Many thanks in advance.
>>>>>
>>>>> -S-
>>>>>
>>>>
>>>
>>
>>
>


Re: Zetafax (Paul Pedersen) and printing reports directly by Anders

Anders
Fri Oct 22 05:00:13 CDT 2004

Try
#DEFINE FALSE .F.
oZFUserSession = oZFAPI.Logon("BILL", False)
or
oZFUserSession = oZFAPI.Logon("BILL")
and hope there' a default -)
-Anders

"Anders Altberg" <x_pragma@telia.com> wrote in message
news:OPlGdD9tEHA.260@TK2MSFTNGP11.phx.gbl...
> oZFUserSession = oZFAPI.Logon("BILL", 0)
> ?
> -Anders
>
> "Bill Leavy" <bleavy@optonline.net> wrote in message
> news:67hgn05h85c0l8pjf1jvb2gquuasalu0e1@4ax.com...
> > Hi Paul -
> >
> > Actually, I'm the guy doing the coding on this, and thanks for your
> > help, it's gotten me started.
> >
> > I am running into a problem though with the logon command...
> >
> > I can instantiate the original object with...
> >
> > oZFAPI = CREATEOBJECT("zfapi32.zfapi")
> >
> >
> > but, when I try to run the logon method as follows...
> >
> > oZFUserSession = oZFAPI.Logon("BILL", False)
> >
> > it is looking for a variable named false, so I changed it to
> >
> > oZFUserSession = oZFAPI.Logon('"BILL"', 'False')
> >
> > since without the quotes, VFP thinks I'm passing a variable)
> >
> > This gives me an error reading...
> >
> > "OLE Dispatch exception code 0 from ZfAPI;;Logon(); API initialisation
> > has failed"
> >
> >
> > If I use this line instead...
> >
> > oZFUserSession = oZFAPI.LogonAnonymous
> >
> > Visual Foxpro crashes.
> >
> > Any ideas?
> >
> > Also, can you tell me what syntax you use for the logon command?
> >
> > Thanks again.
> >
> >
> > -- Bill
> >
> >
> >
> > On Thu, 21 Oct 2004 14:08:16 -0700, "Paul Pedersen"
> > <no-reply@swen.com> wrote:
> >
> > >I did mine in VFP8, not 6. I can't see any obvious reason it wouldn't
> work
> > >in 6, though.
> > >
> > >Zetafax works a little differently than Winfax. When you print to the
> > >Zetafax printer, it creates a "prerendered" output file in a known
> location.
> > >You send the fax by creating a new zetafax message, setting attributes,
> then
> > >attaching that file.
> > >
> > >Here's a brief sample. Let me know if you need more.
> > >
> > >ozf = CREATEOBJECT("zfapi32.zfapi") && unlike Winfax, this can be
> reused
> > >ozfi = ozf.logon(some parameters, I forget what they are)
> > >omsg = ozfi.createnewmsg
> > >omsg.subject = "whatever" && this is used only in the cover sheet,
if
> > >there is one
> > >omsg.recipients.addfaxrecipient("Joe Blow", "Joe's Company",
> "123-456-7890")
> > >omsg.files.add(pathname of the prerendered file created earlier)
> > >omsg.send
> > >
> > >In the newest version of Zetafax, omsg.body now contains an id of that
> fax,
> > >so you can query its status later if you want to.
> > >
> > >
> > >
> > >
> > >"Steve Freides" <steve@fridayscomputer.com> wrote in message
> > >news:2tqckuF22rro8U1@uni-berlin.de...
> > >> We were discussing faxing from VFP - we have mostly decided that
> Zetafax
> > >> will meet our needs but are curious if printing a VFP 6 report
directly
> to
> > >> Zetafax's print driver has been a problem for anyone. How have you
> dealt
> > >> with embedding fax number information, perhaps via a header band?
> > >>
> > >> Many thanks in advance.
> > >>
> > >> -S-
> > >>
> > >
> >
>


Re: Zetafax (Paul Pedersen) and printing reports directly by Bill

Bill
Fri Oct 22 08:41:27 CDT 2004

Hi Anders -

Yep, tried that as well, still getting the same message.

As I mentioned to Paul in a later message though...

I tried checking a property of the oZFAPI object that required no
parameters, and got the same message so I'm questioning whether the
oZFAPI object was properly instantiated (although it shows up in the
debug window as an object.

-- Bill





On Fri, 22 Oct 2004 12:00:13 +0200, "Anders Altberg"
<x_pragma@telia.com> wrote:

>Try
>#DEFINE FALSE .F.
>oZFUserSession = oZFAPI.Logon("BILL", False)
>or
>oZFUserSession = oZFAPI.Logon("BILL")
>and hope there' a default -)
>-Anders
>
>"Anders Altberg" <x_pragma@telia.com> wrote in message
>news:OPlGdD9tEHA.260@TK2MSFTNGP11.phx.gbl...
>> oZFUserSession = oZFAPI.Logon("BILL", 0)
>> ?
>> -Anders
>>
>> "Bill Leavy" <bleavy@optonline.net> wrote in message
>> news:67hgn05h85c0l8pjf1jvb2gquuasalu0e1@4ax.com...
>> > Hi Paul -
>> >
>> > Actually, I'm the guy doing the coding on this, and thanks for your
>> > help, it's gotten me started.
>> >
>> > I am running into a problem though with the logon command...
>> >
>> > I can instantiate the original object with...
>> >
>> > oZFAPI = CREATEOBJECT("zfapi32.zfapi")
>> >
>> >
>> > but, when I try to run the logon method as follows...
>> >
>> > oZFUserSession = oZFAPI.Logon("BILL", False)
>> >
>> > it is looking for a variable named false, so I changed it to
>> >
>> > oZFUserSession = oZFAPI.Logon('"BILL"', 'False')
>> >
>> > since without the quotes, VFP thinks I'm passing a variable)
>> >
>> > This gives me an error reading...
>> >
>> > "OLE Dispatch exception code 0 from ZfAPI;;Logon(); API initialisation
>> > has failed"
>> >
>> >
>> > If I use this line instead...
>> >
>> > oZFUserSession = oZFAPI.LogonAnonymous
>> >
>> > Visual Foxpro crashes.
>> >
>> > Any ideas?
>> >
>> > Also, can you tell me what syntax you use for the logon command?
>> >
>> > Thanks again.
>> >
>> >
>> > -- Bill
>> >
>> >
>> >
>> > On Thu, 21 Oct 2004 14:08:16 -0700, "Paul Pedersen"
>> > <no-reply@swen.com> wrote:
>> >
>> > >I did mine in VFP8, not 6. I can't see any obvious reason it wouldn't
>> work
>> > >in 6, though.
>> > >
>> > >Zetafax works a little differently than Winfax. When you print to the
>> > >Zetafax printer, it creates a "prerendered" output file in a known
>> location.
>> > >You send the fax by creating a new zetafax message, setting attributes,
>> then
>> > >attaching that file.
>> > >
>> > >Here's a brief sample. Let me know if you need more.
>> > >
>> > >ozf = CREATEOBJECT("zfapi32.zfapi") && unlike Winfax, this can be
>> reused
>> > >ozfi = ozf.logon(some parameters, I forget what they are)
>> > >omsg = ozfi.createnewmsg
>> > >omsg.subject = "whatever" && this is used only in the cover sheet,
>if
>> > >there is one
>> > >omsg.recipients.addfaxrecipient("Joe Blow", "Joe's Company",
>> "123-456-7890")
>> > >omsg.files.add(pathname of the prerendered file created earlier)
>> > >omsg.send
>> > >
>> > >In the newest version of Zetafax, omsg.body now contains an id of that
>> fax,
>> > >so you can query its status later if you want to.
>> > >
>> > >
>> > >
>> > >
>> > >"Steve Freides" <steve@fridayscomputer.com> wrote in message
>> > >news:2tqckuF22rro8U1@uni-berlin.de...
>> > >> We were discussing faxing from VFP - we have mostly decided that
>> Zetafax
>> > >> will meet our needs but are curious if printing a VFP 6 report
>directly
>> to
>> > >> Zetafax's print driver has been a problem for anyone. How have you
>> dealt
>> > >> with embedding fax number information, perhaps via a header band?
>> > >>
>> > >> Many thanks in advance.
>> > >>
>> > >> -S-
>> > >>
>> > >
>> >
>>


Re: Zetafax (Paul Pedersen) and printing reports directly by Paul

Paul
Fri Oct 22 15:10:14 CDT 2004

I hate to admit this, but I don't remember all the setup details, of which
there were several. It's been almost a year since I was involved with it. I
probably even documented it somewhere. I'll try to look it all up over the
weekend.



"Bill Leavy" <bleavy@optonline.net> wrote in message
news:v12hn0p7baohut3iccuffdgkm4692nag83@4ax.com...
> Hi Paul -
>
> I know I already tried the .F., but tried it again just to make sure,
> and still get the
>
> "OLE Dispatch exception code 0 from ZfAPI;;Logon(); API initialisation
> has failed" error.
>
> Just for the heck of it, I tried calling a property that should be
> available at the same level as logon (from the oZFAPI object) so I
> could rule out syntax mistakes on the logon command.
>
> I called...
>
> ? oZFAPI.Version
>
> which should return the version number and I got the same error...
>
> "OLE Dispatch exception code 0 from ZfAPI;;Logon(); API initialisation
> has failed"
>
> So now I'm thinking that maybe the oZFAPI object didn't instantiate
> properly, but when I check the debugger, it shows oZFAPI with a type
> of object.
>
> I'm baffled.
>
> -- Bill
>
>
>
>
>
>
> On Thu, 21 Oct 2004 20:19:51 -0700, "Paul Pedersen"
> <no-reply@swen.com> wrote:
>
>>Woops, extra quotes in that one. Use this instead:
>>
>>oZFUserSession = oZFAPI.Logon("BILL", .F.)
>>
>>
>>BTW, I'm running this app only on the machine that has the ZetaFax server
>>installed. I found it more trouble than it was worth to install the
>>ZetaFax
>>clients on all the computers, especially since there are no other faxing
>>going from them. Those other computers enter the order information, and
>>this
>>app scans the orders table and faxes out the confirmations.
>>
>>
>>
>>
>>"Paul Pedersen" <no-reply@swen.com> wrote in message
>>news:uYKwWQ%23tEHA.1464@TK2MSFTNGP15.phx.gbl...
>>> You have to use the standard "FoxPro False", which is .F.
>>>
>>> oZFUserSession = oZFAPI.Logon('"BILL"', .F.)
>>>
>>>
>>>
>>>
>>> "Bill Leavy" <bleavy@optonline.net> wrote in message
>>> news:67hgn05h85c0l8pjf1jvb2gquuasalu0e1@4ax.com...
>>>> Hi Paul -
>>>>
>>>> Actually, I'm the guy doing the coding on this, and thanks for your
>>>> help, it's gotten me started.
>>>>
>>>> I am running into a problem though with the logon command...
>>>>
>>>> I can instantiate the original object with...
>>>>
>>>> oZFAPI = CREATEOBJECT("zfapi32.zfapi")
>>>>
>>>>
>>>> but, when I try to run the logon method as follows...
>>>>
>>>> oZFUserSession = oZFAPI.Logon("BILL", False)
>>>>
>>>> it is looking for a variable named false, so I changed it to
>>>>
>>>> oZFUserSession = oZFAPI.Logon('"BILL"', 'False')
>>>>
>>>> since without the quotes, VFP thinks I'm passing a variable)
>>>>
>>>> This gives me an error reading...
>>>>
>>>> "OLE Dispatch exception code 0 from ZfAPI;;Logon(); API initialisation
>>>> has failed"
>>>>
>>>>
>>>> If I use this line instead...
>>>>
>>>> oZFUserSession = oZFAPI.LogonAnonymous
>>>>
>>>> Visual Foxpro crashes.
>>>>
>>>> Any ideas?
>>>>
>>>> Also, can you tell me what syntax you use for the logon command?
>>>>
>>>> Thanks again.
>>>>
>>>>
>>>> -- Bill
>>>>
>>>>
>>>>
>>>> On Thu, 21 Oct 2004 14:08:16 -0700, "Paul Pedersen"
>>>> <no-reply@swen.com> wrote:
>>>>
>>>>>I did mine in VFP8, not 6. I can't see any obvious reason it wouldn't
>>>>>work
>>>>>in 6, though.
>>>>>
>>>>>Zetafax works a little differently than Winfax. When you print to the
>>>>>Zetafax printer, it creates a "prerendered" output file in a known
>>>>>location.
>>>>>You send the fax by creating a new zetafax message, setting attributes,
>>>>>then
>>>>>attaching that file.
>>>>>
>>>>>Here's a brief sample. Let me know if you need more.
>>>>>
>>>>>ozf = CREATEOBJECT("zfapi32.zfapi") && unlike Winfax, this can be
>>>>>reused
>>>>>ozfi = ozf.logon(some parameters, I forget what they are)
>>>>>omsg = ozfi.createnewmsg
>>>>>omsg.subject = "whatever" && this is used only in the cover sheet,
>>>>>if
>>>>>there is one
>>>>>omsg.recipients.addfaxrecipient("Joe Blow", "Joe's Company",
>>>>>"123-456-7890")
>>>>>omsg.files.add(pathname of the prerendered file created earlier)
>>>>>omsg.send
>>>>>
>>>>>In the newest version of Zetafax, omsg.body now contains an id of that
>>>>>fax,
>>>>>so you can query its status later if you want to.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>"Steve Freides" <steve@fridayscomputer.com> wrote in message
>>>>>news:2tqckuF22rro8U1@uni-berlin.de...
>>>>>> We were discussing faxing from VFP - we have mostly decided that
>>>>>> Zetafax
>>>>>> will meet our needs but are curious if printing a VFP 6 report
>>>>>> directly
>>>>>> to
>>>>>> Zetafax's print driver has been a problem for anyone. How have you
>>>>>> dealt
>>>>>> with embedding fax number information, perhaps via a header band?
>>>>>>
>>>>>> Many thanks in advance.
>>>>>>
>>>>>> -S-
>>>>>>
>>>>>
>>>>
>>>
>>>
>>
>



Re: Zetafax (Paul Pedersen) and printing reports directly by Paul

Paul
Tue Oct 26 08:12:27 CDT 2004

This is a multi-part message in MIME format.

------=_NextPart_000_0007_01C4BB22.C48BE080
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

This is from the documentation I wrote at the time. It was customized =
for that application, but these parts should be relevant generally.

**********************
Initial information: The [name] installer expects to be run on the =
computer on which the Zetafax server is installed. It is not necessary =
to have the client software installed; in fact, you might not want to do =
that because of the limited number of client licenses available. The =
installer also expects the Zetafax working directory to be C:\ZFAX. If =
you want to install it on a different machine, or if the Zetafax =
directory is different from C:\ZFAX, you will have to modify ZETAFAX.INI =
after installing the application.

1. Using the Zetafax server configuration utility, create a user called =
[user name]. The application will attempt to log in as this user, so if =
the user does not exist, faxing will fail. After creating that user, =
open the file C:\ZFAX\USERS\[user name]\USER.INI. Blank out the option =
"coversheet". If you don't do this, all faxes the system sends will =
include a cover sheet.

2. Create a printer for Zetafax to use. First, create a folder =
C:\ZFPREREN. In that folder, create an empty text document called =
ZF.EPN. Next, in the Windows Printer section, choose Add a printer. =
Select "local printer" and deselect "Automatically detect and install". =
Select "Create a new port"; select the type as local and name it =
"c:\zfpreren\zf.epn". As type of printer, choose Epson LQ-1000 (this =
printer driver comes with Windows, so should be available). Name the =
printer "Epson for Zetafax". After the printer has been installed, =
delete the file C:\ZFPREREN\ZF.EPN.

*********************

That will cause a report printed from the Zetafax printer to show up as =
a prerendered file called zf.epn in c:\zfpreren\. You can then attach =
that file to a new fax object as described earlier.

One more thing - ZETAFAX.INI is critical to successful operation. Here =
are some sample settings:

[ZETAFAX]
Type: Init
Revision: A

[SERVER]
ServerArea: \\FAX SERVER\ZFAX\SERVER
SystemArea: \\FAX SERVER\ZFAX\SYSTEM
AllUserArea: \\FAX SERVER\ZFAX\USERS
RequestArea: \\FAX SERVER\ZFAX\REQUEST

("FAX SERVER" is the name of the machine the Zetafax server is running =
on.)

Sorry, but I haven't had time to run through this procedure again to =
verify that it all does what it's supposed to. But maybe this will give =
you enough info to get up and running. Good luck!

Paul

http://www.prpconsulting.com




"Paul Pedersen" <no-reply@swen.com> wrote in message =
news:%23xrwoMHuEHA.2980@tk2msftngp13.phx.gbl...
>I hate to admit this, but I don't remember all the setup details, of =
which=20
> there were several. It's been almost a year since I was involved with =
it. I=20
> probably even documented it somewhere. I'll try to look it all up over =
the=20
> weekend.
>=20
>=20
>=20
> "Bill Leavy" <bleavy@optonline.net> wrote in message=20
> news:v12hn0p7baohut3iccuffdgkm4692nag83@4ax.com...
>> Hi Paul -
>>
>> I know I already tried the .F., but tried it again just to make sure,
>> and still get the
>>
>> "OLE Dispatch exception code 0 from ZfAPI;;Logon(); API =
initialisation
>> has failed" error.
>>
>> Just for the heck of it, I tried calling a property that should be
>> available at the same level as logon (from the oZFAPI object) so I
>> could rule out syntax mistakes on the logon command.
>>
>> I called...
>>
>> ? oZFAPI.Version
>>
>> which should return the version number and I got the same error...
>>
>> "OLE Dispatch exception code 0 from ZfAPI;;Logon(); API =
initialisation
>> has failed"
>>
>> So now I'm thinking that maybe the oZFAPI object didn't instantiate
>> properly, but when I check the debugger, it shows oZFAPI with a type
>> of object.
>>
>> I'm baffled.
>>
>> -- Bill
>>
>>
>>
>>
>>
>>
>> On Thu, 21 Oct 2004 20:19:51 -0700, "Paul Pedersen"
>> <no-reply@swen.com> wrote:
>>
>>>Woops, extra quotes in that one. Use this instead:
>>>
>>>oZFUserSession =3D oZFAPI.Logon("BILL", .F.)
>>>
>>>
>>>BTW, I'm running this app only on the machine that has the ZetaFax =
server
>>>installed. I found it more trouble than it was worth to install the=20
>>>ZetaFax
>>>clients on all the computers, especially since there are no other =
faxing
>>>going from them. Those other computers enter the order information, =
and=20
>>>this
>>>app scans the orders table and faxes out the confirmations.
>>>
>>>
>>>
>>>
>>>"Paul Pedersen" <no-reply@swen.com> wrote in message
>>>news:uYKwWQ%23tEHA.1464@TK2MSFTNGP15.phx.gbl...
>>>> You have to use the standard "FoxPro False", which is .F.
>>>>
>>>> oZFUserSession =3D oZFAPI.Logon('"BILL"', .F.)
>>>>
>>>>
>>>>
>>>>
>>>> "Bill Leavy" <bleavy@optonline.net> wrote in message
>>>> news:67hgn05h85c0l8pjf1jvb2gquuasalu0e1@4ax.com...
>>>>> Hi Paul -
>>>>>
>>>>> Actually, I'm the guy doing the coding on this, and thanks for =
your
>>>>> help, it's gotten me started.
>>>>>
>>>>> I am running into a problem though with the logon command...
>>>>>
>>>>> I can instantiate the original object with...
>>>>>
>>>>> oZFAPI =3D CREATEOBJECT("zfapi32.zfapi")
>>>>>
>>>>>
>>>>> but, when I try to run the logon method as follows...
>>>>>
>>>>> oZFUserSession =3D oZFAPI.Logon("BILL", False)
>>>>>
>>>>> it is looking for a variable named false, so I changed it to
>>>>>
>>>>> oZFUserSession =3D oZFAPI.Logon('"BILL"', 'False')
>>>>>
>>>>> since without the quotes, VFP thinks I'm passing a variable)
>>>>>
>>>>> This gives me an error reading...
>>>>>
>>>>> "OLE Dispatch exception code 0 from ZfAPI;;Logon(); API =
initialisation
>>>>> has failed"
>>>>>
>>>>>
>>>>> If I use this line instead...
>>>>>
>>>>> oZFUserSession =3D oZFAPI.LogonAnonymous
>>>>>
>>>>> Visual Foxpro crashes.
>>>>>
>>>>> Any ideas?
>>>>>
>>>>> Also, can you tell me what syntax you use for the logon command?
>>>>>
>>>>> Thanks again.
>>>>>
>>>>>
>>>>> -- Bill
>>>>>
>>>>>
>>>>>
>>>>> On Thu, 21 Oct 2004 14:08:16 -0700, "Paul Pedersen"
>>>>> <no-reply@swen.com> wrote:
>>>>>
>>>>>>I did mine in VFP8, not 6. I can't see any obvious reason it =
wouldn't
>>>>>>work
>>>>>>in 6, though.
>>>>>>
>>>>>>Zetafax works a little differently than Winfax. When you print to =
the
>>>>>>Zetafax printer, it creates a "prerendered" output file in a known
>>>>>>location.
>>>>>>You send the fax by creating a new zetafax message, setting =
attributes,
>>>>>>then
>>>>>>attaching that file.
>>>>>>
>>>>>>Here's a brief sample. Let me know if you need more.
>>>>>>
>>>>>>ozf =3D CREATEOBJECT("zfapi32.zfapi") && unlike Winfax, this =
can be
>>>>>>reused
>>>>>>ozfi =3D ozf.logon(some parameters, I forget what they are)
>>>>>>omsg =3D ozfi.createnewmsg
>>>>>>omsg.subject =3D "whatever" && this is used only in the cover =
sheet,=20
>>>>>>if
>>>>>>there is one
>>>>>>omsg.recipients.addfaxrecipient("Joe Blow", "Joe's Company",
>>>>>>"123-456-7890")
>>>>>>omsg.files.add(pathname of the prerendered file created earlier)
>>>>>>omsg.send
>>>>>>
>>>>>>In the newest version of Zetafax, omsg.body now contains an id of =
that
>>>>>>fax,
>>>>>>so you can query its status later if you want to.
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>"Steve Freides" <steve@fridayscomputer.com> wrote in message
>>>>>>news:2tqckuF22rro8U1@uni-berlin.de...
>>>>>>> We were discussing faxing from VFP - we have mostly decided that
>>>>>>> Zetafax
>>>>>>> will meet our needs but are curious if printing a VFP 6 report=20
>>>>>>> directly
>>>>>>> to
>>>>>>> Zetafax's print driver has been a problem for anyone. How have =
you
>>>>>>> dealt
>>>>>>> with embedding fax number information, perhaps via a header =
band?
>>>>>>>
>>>>>>> Many thanks in advance.
>>>>>>>
>>>>>>> -S-
>>>>>>>
>>>>>>
>>>>>
>>>>
>>>>
>>>
>>=20
>=20
>
------=_NextPart_000_0007_01C4BB22.C48BE080
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META http-equiv=3DContent-Type content=3D"text/html; =
charset=3Diso-8859-1">
<META content=3D"MSHTML 6.00.2900.2523" name=3DGENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY>
<DIV><FONT face=3DArial>This is from the documentation I wrote at the =
time. It was=20
customized for that application, but these parts should be relevant=20
generally.</FONT></DIV>
<DIV><FONT face=3DArial></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial>**********************</FONT></DIV>
<DIV>
<P><FONT face=3DArial color=3D#0000ff>Initial information: The [name] =
installer=20
expects to be run on the computer on which the Zetafax server is =
installed. It=20
is not necessary to have the client software installed; in fact, you =
might not=20
want to do that because of the limited number of client licenses =
available. The=20
installer also expects the Zetafax working directory to be C:\ZFAX. If =
you want=20
to install it on a different machine, or if the Zetafax directory is =
different=20
from C:\ZFAX, you will have to modify ZETAFAX.INI after installing the=20
application.</FONT></P>
<P><FONT face=3DArial color=3D#0000ff>1. Using the Zetafax server =
configuration=20
utility, create a user called [user name]. The application will attempt =
to log=20
in as this user, so if the user does not exist, faxing will fail. After =
creating=20
that user, open the file C:\ZFAX\USERS\[user name]\USER.INI. Blank out =
the=20
option "coversheet". If you don't do this, all faxes the system sends =
will=20
include a cover sheet.</FONT></P>
<P><FONT face=3DArial color=3D#0000ff>2. Create a printer for Zetafax to =
use. First,=20
create a folder C:\ZFPREREN. In that folder, create an empty text =
document=20
called ZF.EPN. Next, in the Windows Printer section, choose Add a =
printer.=20
Select "local printer" and deselect "Automatically detect and install". =
Select=20
"Create a new port"; select the type as local and name it =
"c:\zfpreren\zf.epn".=20
As type of printer, choose Epson LQ-1000 (this printer driver comes with =

Windows, so should be available). Name the printer "Epson for Zetafax". =
After=20
the printer has been installed, delete the file=20
C:\ZFPREREN\ZF.EPN.</FONT></P></DIV>
<DIV><FONT face=3DArial>*********************</FONT></DIV>
<DIV><FONT face=3DArial></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial>That will cause a report printed from the =
Zetafax printer=20
to show up as a prerendered file called zf.epn in c:\zfpreren\. You can =
then=20
attach that file to a new fax object as described earlier.</FONT></DIV>
<DIV><FONT face=3DArial></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial>One more thing - ZETAFAX.INI is critical to =
successful=20
operation. Here are some sample settings:</FONT></DIV>
<DIV><FONT face=3DArial></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New" size=3D2>[ZETAFAX]<BR>Type: =
Init<BR>Revision:=20
A</FONT></DIV>
<DIV><FONT face=3D"Courier New" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New" size=3D2>[SERVER]<BR>ServerArea: <A=20
href=3D"file://\\FAX">\\FAX</A> SERVER\ZFAX\SERVER<BR>SystemArea: <A=20
href=3D"file://\\FAX">\\FAX</A> SERVER\ZFAX\SYSTEM<BR>AllUserArea: <A=20
href=3D"file://\\FAX">\\FAX</A> SERVER\ZFAX\USERS<BR>RequestArea: <A=20
href=3D"file://\\FAX">\\FAX</A> SERVER\ZFAX\REQUEST<BR></FONT></DIV>
<DIV><FONT face=3DArial>("FAX SERVER" is the name of the machine the =
Zetafax=20
server is running on.)</FONT></DIV>
<DIV><FONT face=3DArial></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial>Sorry, but I haven't had time to run through =
this=20
procedure again to verify that&nbsp;it all does what it's supposed to. =
But maybe=20
this will give you enough info&nbsp;to get up and running. Good=20
luck!</FONT></DIV>
<DIV><FONT face=3DArial></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial>Paul</FONT></DIV>
<DIV><FONT face=3DArial></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial><A=20
href=3D"http://www.prpconsulting.com">http://www.prpconsulting.com</A></F=
ONT></DIV>
<DIV><FONT face=3D"Courier New" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial></FONT>&nbsp;</DIV>
<DIV><FONT face=3DArial></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New" size=3D2></FONT>&nbsp;</DIV>
<DIV><FONT face=3D"Courier New" size=3D2>"Paul Pedersen" &lt;</FONT><A=20
href=3D"mailto:no-reply@swen.com"><FONT face=3D"Courier New"=20
size=3D2>no-reply@swen.com</FONT></A><FONT face=3D"Courier New" =
size=3D2>&gt; wrote in=20
message </FONT><A =
href=3D"news:%23xrwoMHuEHA.2980@tk2msftngp13.phx.gbl"><FONT=20
face=3D"Courier New"=20
size=3D2>news:%23xrwoMHuEHA.2980@tk2msftngp13.phx.gbl</FONT></A><FONT=20
face=3D"Courier New" size=3D2>...</FONT></DIV><FONT face=3D"Courier New" =
size=3D2>&gt;I=20
hate to admit this, but I don't remember all the setup details, of which =

<BR>&gt; there were several. It's been almost a year since I was =
involved with=20
it. I <BR>&gt; probably even documented it somewhere. I'll try to look =
it all up=20
over the <BR>&gt; weekend.<BR>&gt; <BR>&gt; <BR>&gt; <BR>&gt; "Bill =
Leavy"=20
&lt;</FONT><A href=3D"mailto:bleavy@optonline.net"><FONT face=3D"Courier =
New"=20
size=3D2>bleavy@optonline.net</FONT></A><FONT face=3D"Courier New" =
size=3D2>&gt; wrote=20
in message <BR>&gt; </FONT><A=20
href=3D"news:v12hn0p7baohut3iccuffdgkm4692nag83@4ax.com"><FONT =
face=3D"Courier New"=20
size=3D2>news:v12hn0p7baohut3iccuffdgkm4692nag83@4ax.com</FONT></A><FONT =

face=3D"Courier New" size=3D2>...<BR>&gt;&gt; Hi Paul =
-<BR>&gt;&gt;<BR>&gt;&gt; I=20
know I already tried the .F., but tried it again just to make =
sure,<BR>&gt;&gt;=20
and still get the<BR>&gt;&gt;<BR>&gt;&gt; "OLE Dispatch exception code 0 =
from=20
ZfAPI;;Logon(); API initialisation<BR>&gt;&gt; has failed"=20
error.<BR>&gt;&gt;<BR>&gt;&gt; Just for the heck of it, I tried calling =
a=20
property that should be<BR>&gt;&gt; available at the same level as logon =
(from=20
the oZFAPI object) so I<BR>&gt;&gt; could rule out syntax mistakes on =
the logon=20
command.<BR>&gt;&gt;<BR>&gt;&gt; I called...<BR>&gt;&gt;<BR>&gt;&gt; ?=20
oZFAPI.Version<BR>&gt;&gt;<BR>&gt;&gt; which should return the version =
number=20
and I got the same error...<BR>&gt;&gt;<BR>&gt;&gt; "OLE Dispatch =
exception code=20
0 from ZfAPI;;Logon(); API initialisation<BR>&gt;&gt; has=20
failed"<BR>&gt;&gt;<BR>&gt;&gt; So now I'm thinking that maybe the =
oZFAPI object=20
didn't instantiate<BR>&gt;&gt; properly, but when I check the debugger, =
it shows=20
oZFAPI with a type<BR>&gt;&gt; of object.<BR>&gt;&gt;<BR>&gt;&gt; I'm=20
baffled.<BR>&gt;&gt;<BR>&gt;&gt; --&nbsp;=20
Bill<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&gt;<BR>&gt;&=
gt;<BR>&gt;&gt;=20
On Thu, 21 Oct 2004 20:19:51 -0700, "Paul Pedersen"<BR>&gt;&gt; =
&lt;</FONT><A=20
href=3D"mailto:no-reply@swen.com"><FONT face=3D"Courier New"=20
size=3D2>no-reply@swen.com</FONT></A><FONT face=3D"Courier New" =
size=3D2>&gt;=20
wrote:<BR>&gt;&gt;<BR>&gt;&gt;&gt;Woops, extra quotes in that one. Use =
this=20
instead:<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;oZFUserSession =3D =
oZFAPI.Logon("BILL",=20
.F.)<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;BTW, I'm running =
this app=20
only on the machine that has the ZetaFax =
server<BR>&gt;&gt;&gt;installed. I=20
found it more trouble than it was worth to install the=20
<BR>&gt;&gt;&gt;ZetaFax<BR>&gt;&gt;&gt;clients on all the computers, =
especially=20
since there are no other faxing<BR>&gt;&gt;&gt;going from them. Those =
other=20
computers enter the order information, and=20
<BR>&gt;&gt;&gt;this<BR>&gt;&gt;&gt;app scans the orders table and faxes =
out the=20
confirmations.<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt;&gt;<BR>&gt;&gt=
;&gt;<BR>&gt;&gt;&gt;"Paul=20
Pedersen" &lt;</FONT><A href=3D"mailto:no-reply@swen.com"><FONT =
face=3D"Courier New"=20
size=3D2>no-reply@swen.com</FONT></A><FONT face=3D"Courier New" =
size=3D2>&gt; wrote in=20
message<BR>&gt;&gt;&gt;news:uYKwWQ%23tEHA.1464@TK2MSFTNGP15.phx.gbl...<BR=
>&gt;&gt;&gt;&gt;=20
You have to use the standard "FoxPro False", which is=20
.F.<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt; oZFUserSession =3D=20
oZFAPI.Logon('"BILL"',=20
.F.)<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;<BR>&gt;&=
gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;=20
"Bill Leavy" &lt;</FONT><A href=3D"mailto:bleavy@optonline.net"><FONT=20
face=3D"Courier New" size=3D2>bleavy@optonline.net</FONT></A><FONT=20
face=3D"Courier New" size=3D2>&gt; wrote in message<BR>&gt;&gt;&gt;&gt; =
</FONT><A=20
href=3D"news:67hgn05h85c0l8pjf1jvb2gquuasalu0e1@4ax.com"><FONT =
face=3D"Courier New"=20
size=3D2>news:67hgn05h85c0l8pjf1jvb2gquuasalu0e1@4ax.com</FONT></A><FONT =

face=3D"Courier New" size=3D2>...<BR>&gt;&gt;&gt;&gt;&gt; Hi Paul=20
-<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; Actually, I'm the guy =
doing=20
the coding on this, and thanks for your<BR>&gt;&gt;&gt;&gt;&gt; help, =
it's=20
gotten me started.<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; I am =
running=20
into a problem though with the logon=20
command...<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; I can =
instantiate the=20
original object with...<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; =
oZFAPI =3D=20
CREATEOBJECT("zfapi32.zfapi")<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;=
&gt;<BR>&gt;&gt;&gt;&gt;&gt;=20
but, when I try to run the logon method as=20
follows...<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; =
oZFUserSession =3D=20
oZFAPI.Logon("BILL", =
False)<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; it=20
is looking for a variable named false, so I changed it=20
to<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; oZFUserSession =3D=20
oZFAPI.Logon('"BILL"', =
'False')<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;=20
since without the quotes, VFP thinks I'm passing a=20
variable)<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; This gives me =
an error=20
reading...<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; "OLE Dispatch =

exception code 0 from ZfAPI;;Logon(); API =
initialisation<BR>&gt;&gt;&gt;&gt;&gt;=20
has=20
failed"<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&g=
t;&gt;=20
If I use this line =
instead...<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;=20
oZFUserSession =3D=20
oZFAPI.LogonAnonymous<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; =
Visual=20
Foxpro crashes.<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; Any=20
ideas?<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; Also, can you =
tell me=20
what syntax you use for the logon=20
command?<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt; Thanks=20
again.<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt=
;&gt;=20
--&nbsp;=20
Bill<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&=
gt;<BR>&gt;&gt;&gt;&gt;&gt;=20
On Thu, 21 Oct 2004 14:08:16 -0700, "Paul =
Pedersen"<BR>&gt;&gt;&gt;&gt;&gt;=20
&lt;</FONT><A href=3D"mailto:no-reply@swen.com"><FONT face=3D"Courier =
New"=20
size=3D2>no-reply@swen.com</FONT></A><FONT face=3D"Courier New" =
size=3D2>&gt;=20
wrote:<BR>&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt;I did mine in =
VFP8,=20
not 6. I can't see any obvious reason it=20
wouldn't<BR>&gt;&gt;&gt;&gt;&gt;&gt;work<BR>&gt;&gt;&gt;&gt;&gt;&gt;in =
6,=20
though.<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt;Zetafax =
works a=20
little differently than Winfax. When you print to=20
the<BR>&gt;&gt;&gt;&gt;&gt;&gt;Zetafax printer, it creates a =
"prerendered"=20
output file in a=20
known<BR>&gt;&gt;&gt;&gt;&gt;&gt;location.<BR>&gt;&gt;&gt;&gt;&gt;&gt;You=
send=20
the fax by creating a new zetafax message, setting=20
attributes,<BR>&gt;&gt;&gt;&gt;&gt;&gt;then<BR>&gt;&gt;&gt;&gt;&gt;&gt;at=
taching=20
that file.<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt;Here's =
a brief=20
sample. Let me know if you need=20
more.<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt;ozf =3D=20
CREATEOBJECT("zfapi32.zfapi")&nbsp;&nbsp;&nbsp; &amp;&amp; unlike =
Winfax, this=20
can be<BR>&gt;&gt;&gt;&gt;&gt;&gt;reused<BR>&gt;&gt;&gt;&gt;&gt;&gt;ozfi =
=3D=20
ozf.logon(some parameters, I forget what they=20
are)<BR>&gt;&gt;&gt;&gt;&gt;&gt;omsg =3D=20
ozfi.createnewmsg<BR>&gt;&gt;&gt;&gt;&gt;&gt;omsg.subject =3D=20
"whatever"&nbsp;&nbsp;&nbsp; &amp;&amp; this is used only in the cover =
sheet,=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt;if<BR>&gt;&gt;&gt;&gt;&gt;&gt;there is=20
one<BR>&gt;&gt;&gt;&gt;&gt;&gt;omsg.recipients.addfaxrecipient("Joe =
Blow",=20
"Joe's=20
Company",<BR>&gt;&gt;&gt;&gt;&gt;&gt;"123-456-7890")<BR>&gt;&gt;&gt;&gt;&=
gt;&gt;omsg.files.add(pathname=20
of the prerendered file created=20
earlier)<BR>&gt;&gt;&gt;&gt;&gt;&gt;omsg.send<BR>&gt;&gt;&gt;&gt;&gt;&gt;=
<BR>&gt;&gt;&gt;&gt;&gt;&gt;In=20
the newest version of Zetafax, omsg.body now contains an id of=20
that<BR>&gt;&gt;&gt;&gt;&gt;&gt;fax,<BR>&gt;&gt;&gt;&gt;&gt;&gt;so you =
can query=20
its status later if you want=20
to.<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&g=
t;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt;"St=
eve=20
Freides" &lt;</FONT><A href=3D"mailto:steve@fridayscomputer.com"><FONT=20
face=3D"Courier New" size=3D2>steve@fridayscomputer.com</FONT></A><FONT=20
face=3D"Courier New" size=3D2>&gt; wrote in=20
message<BR>&gt;&gt;&gt;&gt;&gt;&gt;news:2tqckuF22rro8U1@uni-berlin.de...<=
BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
We were discussing faxing from VFP - we have mostly decided=20
that<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
Zetafax<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
will meet our needs but are curious if printing a VFP 6 report=20
<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =
directly<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
to<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; Zetafax's print driver has been a =
problem for=20
anyone.&nbsp;&nbsp; How have you<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;=20
dealt<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; with embedding fax number =
information,=20
perhaps via a header=20
band?<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt;<BR>&gt;&gt;&gt;&gt;&gt;&gt;&gt; =