?
Solved

FaxSendDocument API from Delphi

Posted on 2004-03-25
4
Medium Priority
?
1,141 Views
Last Modified: 2013-11-13
Is there a way to call the FaxSendDocument and FaxStartFaxServer APIs from Delphi 6?

Thanks in advance!

A1t
0
Comment
Question by:A1ternity
  • 2
  • 2
4 Comments
 
LVL 19

Accepted Solution

by:
Melih SARICA earned 1500 total points
ID: 10685194
Hi..

first there is no Ip Called FaxStartFaxServer .

here is the convertion on the API fuctions of 3 basic Functions ( connecting ..Sending , and closing) ( at the end of the emssage)

But Also microsoft Advice us to use Faxserver Com Objects..

Faxserver has 3 sub Objects
                 FaxJobs, FaxPorts and FaxDoc objects.

How to  Send a Document with this objects
************* Fax sending with Com Objects *****************
Procedure ConnectAndSendFaxDocument
  var
        mFaxServer      : variant;
        mFaxDocument    : variant;
  begin
        mfaxserver :=CreateOleObject('FaxServer.FaxServer');
        mfaxServer.Connect('MyFaxserver');  // if this parameter is null then connect to localhost
        mFaxDocument:=mFaxServer.CreateDocument('Filename');
        mfaxDocument.FaxNumber:='5555555';
        mFaxDocument.Filename:='Filename';
        mfaxDocument.Send;
        mFaxServer.Disconnect;
        mFaxServer:=nil;
        mFaxDocument:=nil;
  end;


here is the link of microsoft help about Faxserver Com Object
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fax/faxlegacyvb_9tb3.asp


************** Unit Winfax *****************
unit winfax;
//  Object      : Winfax.dll WinAPI Functions
//  Author      : Non Zero ( Melih SARICA)
//  Date        : 26/04/2004
//  Status      : Not Fully Convereted

interface
uses windows;

 Type
   HCall                = Cardinal;
  _FAX_JOB_PARAM = record
        SizeOfStruct            : dword;        //structure size, in bytes
        RecipientNumber         : Pchar;        //pointer to recipient's fax number
        RecipientName           : Pchar;        //pointer to recipient's name
        Tsid                    : Pchar;        //pointer to transmitting station identifier
        SenderName              : Pchar;        //pointer to sender's name
        SenderCompany           : Pchar;        //pointer to sender's company
        SenderDept              : Pchar;        //pointer to sender's department
        BillingCode             : PChar;        //pointer to billing code
        ScheduleAction          : Dword;        //job scheduling action code
        ScheduleTime            : SYSTEMTIME;   //time to send fax
        DeliveryReportType      : dword;        //e-mail delivery report type
        DeliveryReportAddress   : Pchar;        //pointer to e-mail address
        DocumentName            : Pchar;        //pointer to document name to display
        CallHandle              : Hcall;        //reserved
        Reserved                : array [0..2] of byte;   //must be zero
  end;
  FAX_JOB_PARAM  = _FAX_JOB_PARAM;
  PFAX_JOB_PARAM = ^_FAX_JOB_PARAM;


 function FaxConnectFaxServer(
  MachineName   : Pchar;  // fax server name    ' null if localcomputer
  FaxHandle     : PHandle         // handle to the fax server
        ):longbool;safecall; external 'winfax.dll' name 'FaxConnectFaxServerA';

 function FaxClose(
  FaxHandle     :  THandle // fax handle to close
        ):longbool;safecall; external 'winfax.dll';

  function  FaxSendDocument(
  FaxHandle     : THandle;          // handle to the fax server
  FileName      : Pchar;            // file with data to transmit
  JobParams     : PFAX_JOB_PARAM;   // pointer to job information structure
  FAX_COVERPAGE_INFO : pointer ;    // Normally it must be a structure but i dont use it .. so it ll be nil in my codes
  FaxJobId      : PDWORD            // fax job identifier
        ):longbool;safecall; external 'winfax.dll';

implementation

end.
0
 

Author Comment

by:A1ternity
ID: 10687254
Actually I found out that the jedi project has translated winfax.h to delphi. So using this API is now pretty easy.
Still, here are your points!
0
 
LVL 19

Expert Comment

by:Melih SARICA
ID: 10687667
Where are they ? where are they? :p

thnx
0
 

Author Comment

by:A1ternity
ID: 10687679
lol there you go :)

Thanks again!
0

Featured Post

Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is about my first experience with programming Arduino.
In this post we will learn how to make Android Gesture Tutorial and give different functionality whenever a user Touch or Scroll android screen.
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …
Screencast - Getting to Know the Pipeline

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question