Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations SkipVought on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

VFP output to Central FAX Server

Status
Not open for further replies.

JRB-Bldr

Programmer
May 17, 2001
3,281
0
0
US
It is hard to believe that I am the only one attempting to send FAX's from a VFP7 application on a user's workstation via a centralized (networked) FAX Server.

My users are using Windows 2000 and our server is Windows 2000 Server containing the "free" M$ Shared FAX "Server". Users can manually send FAX's from M$ Word, Excel, etc. through that FAX "server" and they go out fine. They are sent out as a Print To... device.

In previous posts on related topics I have mentioned my problem of sending out DOC file FAX's through Outlook to this FAX "Server". Outlook, on its own, opens Word which "prints" to the Shared FAX Server. But this operation comes with a high resource overhead causing user's workstations to crash too frequently.

Faxing locally at the workstation (using WinFAX, etc.) is not an option due to the large number of users required to send FAX's.

If anyone out there has experience with making a VFP application communicate with a centralized FAX Server, I would appreciate hearing from them on how to approach the challenge.

Thanks,
JRB-Bldr
 
Just a suggestion, instead of trying to fax from each workstation, how about queueing up the faxes on the server running the fax, and having a dedicated app do the faxing?
I don't know how you are creating the faxes, but maybe you can send them to a file, (report form, PDF or whatever), then add a record to a table and have the fax app scan the table and fax the docs.


-Dave S.-
[cheers]
Even more Fox stuff at:
 
I'm using the shared fax printer from VFP.

All you have to do is print to the fax printer.

I've created report forms that are optimized for faxing.

Also, I've used an invisible instance of MS Word to create
some fairly sophisticated output reports which are then
faxed via method calls on the MS Words object from VFP.

The main problem I've encountered is vis-a-vis the shared
fax wizard that pops up. I bring the fax dialog to the
foreground when it appears via code in the vfp app.

I've yet to have it's dialogs automatically filled in by
the application, but all-in-all the application works fine.

Do you have any specific questions?

By the way - all workstations are WinXP with a Win2K
server. There is lots of memory on the workstations, so
resource usage hasn't been an issue in my environment.

Darrell
 
Dave - I have thought about that approach and might indeed use it if all else fails. It would certainly work, but it seems like I ought to be able to do it more directly programatically utilizing API/OLE.

Darrel - You have mentioned one of the hurldes that I have seen when considering printing directly to the Shared FAX - the FAX Pop Wizard. My users send out hundreds of FAX's at a time and cannot realistically be expected to have to enter the FAX numbers via keyboard.

Additionally you mentioned using M$ Word (albeit invisibily) to print out the document. That is one of the resource "hogs" that I am trying to eliminate. VFP uses enough memory on its own and doesn't really like to share well.

However, perhaps it is the VFP, Outlook, and Word combination that is the problem. Maybe eliminating the need for Outlook would help.

I am currently using FRX2Word to convert my VFP graphical Reports to Word DOC files prior to sending them to Outlook as FAX's via Redemption (to avoid the security window).

I would be interested in learning more about how you are utilizing Word to directly "print" your FAX's. Things like how you are:
1. formatting your reports within Word
2. selecting the non-default Shared FAX "printer"
3. etc.
would be of interest.

However my first preference would be to have VFP create the TIFF file directly via a TIFF Print Driver and then send the TIFF file directly to the FAX Server via API calls, etc. if I could find out how to do so.

Thanks,
JRB-Bldr
 
What you desire to do is what I started out trying.

Due to time contraints, I opted for the simpler solution
since we didn't have a large volume of faxes to send out.

I still have it on the burner to complete for my own satis-fax-tion.

I'll keep this thread open for myself and look up the data
I've collected so far.

The API calls are fairly daunting, but doable from within
VFP, although I've been creating objects in VB or C++ to accomplish many of the things that come hard for VFP.

Darrell
 
Darrell - I appreciate your interest and I would be interested in learning what you have accomplished so far.

Can it be that you and I are the only people who have this need? I find that hard to believe.

Hopefully someone else out there can provide some "insight" as to how to accomplish this task.

Thanks,
JRB-Bldr
 
Until I find a better solution I have been attempting to get some object-oriented code found on this forum and on other websites to work.

By manually registering FAXCOM.DLL on my Win 2000 development PC, I can successfully execute the
CREATEOBJECT('Faxserver.Faxserver')

I have now done the same on my Win 2000 Server (SBS)

However when I attempt the CONNECT() I continually get an un-specified OLE error.

My own system is named: DEVELOP
The server has domain name: MAIN
The server's name is: SERVER1

When I attempt to execute any of the following I get the OLE error...
x.CONNECT("\\DEVELOP")
x.CONNECT("\\SERVER1")
x.CONNECT("\\MAIN")
x.CONNECT("\\MAIN.SERVER1")
x.CONNECT("\\MAIN\SERVER1")

Note: When I look into my own PC at my Win 2000 Admin Tools | Services at FAX Services - the status is perpetually Starting, not Started. I cannot seem to get this to change. However, maybe my not having a local FAX Modem is a contributing factor to this.

If anyone can "enlighten" me as to why I cannot connect (e.g. bad syntax, etc.) I would cordially invite them to do so.

Thanks,
JRB-Bldr

 
Hey just a quick thought, but does the MS Fax Server have an API or ActiveX or COM interface you could use?

HTH,
Phillip
 
As explained above, the COM that I am using is FAXCOM.DLL

You can get examples of the code I am attempting to use at:
faq184-2557

However, as also explained above, I am encountering some problems which I have yet to resolve.

Any other advice or suggestions would be greatly appreciated.

Thanks,
JRB-Bldr
 
After reviewing what I had researched previously, I think
you'll have to revert to using the IFAX::xxx com interface
using C++ to correctly implement the client side of your
VFP fax client - although I'm not totally sure yet.

I'm still researching it for my own satisfaction, but it'll
take some more time.

You'll notice that the Wiki example refers to the local machine. I had the same problems that you had vis-a-vis not
being able to connect to a remote fax server using similiar
code.

I think I'll break down and create a .fll to implement this
functionality because I know I'll run into it again.

Send me an email and I'll let you know when I've completed it.

Darrell
 
Darrell re: "Send me an email and I'll let you know when I've completed it."

That sounds great. However I have not found your email address anywhere within the forum.

To keep from exposing you to possible email "mining" and spammers, why don't you send your email address to me:
"DhugalMac at Yahoo Dot Com"

Thanks for the interest and support.

JRB-Bldr




JRB-Bldr
VisionQuest Consulting
Business Analyst & CIO Consulting Services
CIOServices@yahoo.com
 
Darrell - One "tool" you might consider building while working on your FLL or COM would be a utility which would interrogate a system (workstation(s) and network servers) to identify FAX Servers that are "visible".

When I have been doing some testing to get the above code examples to work I never know what Server Name(s) to attempt a CONNECT to. And what the appropriate syntax needs to be to make a successful CONNECT.

The MS documentation associated with the FAXSERVER object says one thing, but through trial & error I have found things to be possibly different. It would be nice to have more certainty around this.

Thanks,
JRB-Bldr


 
JRB-Bldr,

Take a look at this faq: faq184-2591

Peping
 
Jrbbr:

I also am surprised there isn't more information available
regarding using the faxserver. It seems the documentation
has a number of confusing points regarding which OS
versions correctly implement which behaviors. I think it's
still a moving target in Redmond.

Regarding your post about determining which servers are
available, it will probably require querying
"Active Directory" for currently available devices,
although I've yet to program using the API for "Active Directory".

Also, the fax server can show up in your printers mmc as
a fully qualified or short name. Maybe this has added to
your confusion.
i.e. \\Server.Company.com\SharedFax .vs. \\Server\SharedFax

Darrell

 
Peping - Thanks for the reply

Unfortunately the FAQ that you reference
How to Programmatically Send Fax in SBS
faq184-2591
is almost (if not totally) identical to the one that I have been expoloring and posted reference to above:
How to Programmatically Send Fax in SBS
faq184-2557

Darrell - You are absolutely correct about the confusion and lack of "hard" facts regarding the FAX Server. It seems as though those people who have gotten things to work did so without problem and don't have much additional info to offer on how to troubleshoot non-working services.

You are also correct in that the documentation and sample code referenced implies that the FAX Server Name syntax should appear as:
"\\Server.Company.com\SharedFax"
or
"\\Server\SharedFax"
or possibly
"\\Server" (without FAX "Printer" name)

However the ONE system that I did successfully CONNECT to was my home system on which I used the FAX Server Name syntax:
"HomePC" (with no slashes)
which only succeeded in adding to the confusion.

Also "discovered" during the trial & error on my home system seems to be a relation between the ability to CONNECT and the status of the Win 2000 Services - FAX Service.

It seems that when this is not Started an attempt at a Local CONNECT will fail. Conversely if it is Started you MIGHT get a CONNECT. This is not for sure, but it seems that way.

Unfortunately something is preventing my office machine and the office System Administrator's machine from Starting the FAX Service. This is in spite of the fact that we both have the MS Shared FAX Client sofware successfully working on both out workstations. Nobody (in the office nor anyone so far found on the net) seems to know why and/or how to resolve this situation.

Well hopefully we will get this enigma resolved in one manner or another.

Again, thanks for all of your support, advice, and suggestions.

JRB-Bldr
 
Hi everybody,

I think you are pioneering the use of a fax server in using the microsoft Fax system. While it always uses the client server architecture, it seems that it works pretty well when the client and the server are the same machine, and not at all when they aren't.....

One thing I've seen recently is that many of MS's APIs involving network machine names require the machine name to be provided as a unicode string: The FaxServer docs don't specify this, but it's something to try....
 
Thanks for the suggestion Wgcs.

jrbbldr:

Until this problem is resolved and if your budget allows,
maybe you can see if GFI's products can solve your problem.

They've been around for quite awhile, although I've yet to
use their products.

See:
Darrell
 
Bill (wgcs) - thanks for the input and thanks for the email that you sent to me separately re:

Folllowing your suggestion, I made a test of Unicode by using VFP's
mcSrvrName = STRCONV(mcSrvrName,5)
to convert the Server name at the office and attempted to use the new string in the
FaxServer.CONNECT(mcSrvrName)
However the results were the same - no success.

"I think you are pioneering the use of a fax server in using the microsoft Fax system" It is hard to imagine that after this long with VFP on the market and VB just as long or longer, that this subject has not been addressed before and resolved. But you might be correct, it seems as though there is a general lack of information on how to make this work no matter what the development language.

Darrell - Just today I began calling GFI and other FAX Server vendors to see what they might have to offer and how much it will cost. Actually the cost might not be too bad in spite of them not being cheap when they are compared to the cost of man-hours involved in researching this MS Shared FAX approach.

I still would like to find the answer to this problem, but it may be more of a personal challenge now rather than a cost-effective approach to resolving a real business need.

However the resolution, if found, would be of benefit to more than a few other developers out there.

Having said that, I still invite anyone else out there who has suggestions and advice to contribute to the solution of this problem.

Thanks,
JRB-Bldr
 
Hey Gang,

My solution does not use VFP, but I think it could be extended to VFP or any application that can print to a file.

We needed our ERP(unix) system to distribute Purchase Orders to suppliers via Fax, email, or mail. We created a network share to receive the files, and basically printed to a file from the ERP system. The ERP system had to generate the PCL file and a header file with routing and contact info.

We used a product called JetPCL and their companion product JpBatch to monitor the cue and convert the PCL to a PDF.

The PDF was then sent out via GFI's FaxMaker. The Faxmaker API is not documented very well or supported, but it works. I used VB script to call the API, generate the emails or send output to printers (for snail mail).

I realize this may sound a little kludgy, but we had Faxmaker already, and ERP level solutions started at $10K.

Hope this provides a little food for thought.

-Jacob
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top