Announcement

Collapse

Forum Guidelines

This forum is for finished source code that is working properly. If you have questions about this or any other source code, please post it in one of the Discussion Forums, not here.
See more
See less

Faxing Using COM

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Martin Francom
    replied
    Has anyone gotton this to work with Windows-Vista ?

    Leave a comment:


  • Frank W. Kelley
    replied
    Code:
    LET vFaxNumber = REMOVE$(faxnumber$, "-")
    Correct.

    Leave a comment:


  • Mike Trader
    replied
    I assume the fax number is specified not in canonical format ie just
    "12125551212"?

    Leave a comment:


  • Frank W. Kelley
    replied
    Better yet, let's keep everything together:

    Code:
    ' ****************************************************************************************
    ' Library name: FAXCOMLib
    ' Version: 1.0
    ' Documentation string: faxcom 1.0 Type Library
    ' Path: C:\WINDOWS\system32\fxscom.dll
    ' Library GUID: {87099223-C7AF-11D0-B225-00C04FB6C2F5}
    ' Code generated by the TypeLib Browser 2.05 (c) 2003-2006 by José Roca
    ' Date: 19 Jan 2008   Time: 10:05:13
    ' ****************************************************************************************
    
    #IF NOT %DEF(%WINAPI)
        #INCLUDE "WIN32API.INC"
    #ENDIF
    
    ' ****************************************************************************************
    ' ProgIDs (Program identifiers)
    ' ****************************************************************************************
    
    $PROGID_FaxServerFaxServer1 = "FaxServer.FaxServer.1"
    $PROGID_FaxTiffFaxTiff1 = "FaxTiff.FaxTiff.1"
    
    ' ****************************************************************************************
    ' CoClass name = FaxTiff
    ' Interface name = IFaxTiff
    ' IID = {B19BB45F-B91C-11D1-83E1-00C04FB6E984}
    ' IFaxTiff Interface
    ' Attributes = 4160 [&H1040] [Dual] [Dispatchable]
    ' Inherited interface = IDispatch
    ' ****************************************************************************************
    
    INTERFACE DISPATCH FaxTiffFaxTiff
       MEMBER GET  ReceiveTime<&H00000001>() AS STRING
       MEMBER GET  Image<&H00000002>() AS STRING
       MEMBER LET  Image<&H00000002>()   ' Parameter Type AS STRING
       MEMBER GET  RecipientName<&H00000003>() AS STRING
       MEMBER GET  SenderName<&H00000004>() AS STRING
       MEMBER GET  Routing<&H00000005>() AS STRING
       MEMBER GET  CallerId<&H00000006>() AS STRING
       MEMBER GET  Csid<&H00000007>() AS STRING
       MEMBER GET  Tsid<&H00000008>() AS STRING
       MEMBER GET  RecipientNumber<&H00000009>() AS STRING
       MEMBER GET  RawReceiveTime<&H0000000A>() AS VARIANT
       MEMBER GET  TiffTagString<&H0000000B>(IN tagID AS LONG<&H00000000>) AS STRING
    END INTERFACE
    
    ' ****************************************************************************************
    ' CoClass name = FaxServer
    ' Interface name = IFaxServer
    ' IID = {D73733C7-CC80-11D0-B225-00C04FB6C2F5}
    ' IFaxServer Interface
    ' Attributes = 4160 [&H1040] [Dual] [Dispatchable]
    ' Inherited interface = IDispatch
    ' ****************************************************************************************
    
    INTERFACE DISPATCH FaxTiffFaxServer
       MEMBER CALL Connect<&H00000001>(ServerName AS STRING<&H00000000>)
       MEMBER CALL Disconnect<&H00000002>()
       MEMBER CALL GetPorts<&H00000003>() AS VARIANT
       MEMBER CALL CreateDocument<&H00000004>(FileName AS STRING<&H00000000>) AS VARIANT
       MEMBER CALL GetJobs<&H00000005>() AS VARIANT
       MEMBER GET  Retries<&H00000006>() AS LONG
       MEMBER LET  Retries<&H00000006>()   ' Parameter Type AS LONG
       MEMBER GET  RetryDelay<&H00000007>() AS LONG
       MEMBER LET  RetryDelay<&H00000007>()   ' Parameter Type AS LONG
       MEMBER GET  DirtyDays<&H00000008>() AS LONG
       MEMBER LET  DirtyDays<&H00000008>()   ' Parameter Type AS LONG
       MEMBER GET  Branding<&H00000009>() AS LONG
       MEMBER LET  Branding<&H00000009>()   ' Parameter Type AS LONG
       MEMBER GET  UseDeviceTsid<&H0000000A>() AS LONG
       MEMBER LET  UseDeviceTsid<&H0000000A>()   ' Parameter Type AS LONG
       MEMBER GET  ServerCoverpage<&H0000000B>() AS LONG
       MEMBER LET  ServerCoverpage<&H0000000B>()   ' Parameter Type AS LONG
       MEMBER GET  PauseServerQueue<&H0000000C>() AS LONG
       MEMBER LET  PauseServerQueue<&H0000000C>()   ' Parameter Type AS LONG
       MEMBER GET  ArchiveOutboundFaxes<&H0000000D>() AS LONG
       MEMBER LET  ArchiveOutboundFaxes<&H0000000D>()   ' Parameter Type AS LONG
       MEMBER GET  ArchiveDirectory<&H0000000E>() AS STRING
       MEMBER LET  ArchiveDirectory<&H0000000E>()   ' Parameter Type AS STRING
       MEMBER GET  ServerMapiProfile<&H0000000F>() AS STRING
       MEMBER LET  ServerMapiProfile<&H0000000F>()   ' Parameter Type AS STRING
       MEMBER GET  DiscountRateStartHour<&H00000010>() AS INTEGER
       MEMBER LET  DiscountRateStartHour<&H00000010>()   ' Parameter Type AS INTEGER
       MEMBER GET  DiscountRateStartMinute<&H00000011>() AS INTEGER
       MEMBER LET  DiscountRateStartMinute<&H00000011>()   ' Parameter Type AS INTEGER
       MEMBER GET  DiscountRateEndHour<&H00000012>() AS INTEGER
       MEMBER LET  DiscountRateEndHour<&H00000012>()   ' Parameter Type AS INTEGER
       MEMBER GET  DiscountRateEndMinute<&H00000013>() AS INTEGER
       MEMBER LET  DiscountRateEndMinute<&H00000013>()   ' Parameter Type AS INTEGER
    END INTERFACE
    
    ' ****************************************************************************************
    ' CoClass name = FaxPort
    ' Interface name = IFaxPort
    ' IID = {D73733CC-CC80-11D0-B225-00C04FB6C2F5}
    ' IFaxPort Interface
    ' Attributes = 4160 [&H1040] [Dual] [Dispatchable]
    ' Inherited interface = IDispatch
    ' ****************************************************************************************
    
    INTERFACE DISPATCH FaxTiffFaxPort
       MEMBER GET  Name<&H00000001>() AS STRING
       MEMBER GET  DeviceId<&H00000002>() AS LONG
       MEMBER GET  Rings<&H00000003>() AS LONG
       MEMBER LET  Rings<&H00000003>()   ' Parameter Type AS LONG
       MEMBER GET  Csid<&H00000004>() AS STRING
       MEMBER LET  Csid<&H00000004>()   ' Parameter Type AS STRING
       MEMBER GET  Tsid<&H00000005>() AS STRING
       MEMBER LET  Tsid<&H00000005>()   ' Parameter Type AS STRING
       MEMBER GET  Send<&H00000006>() AS LONG
       MEMBER LET  Send<&H00000006>()   ' Parameter Type AS LONG
       MEMBER GET  Receive<&H00000007>() AS LONG
       MEMBER LET  Receive<&H00000007>()   ' Parameter Type AS LONG
       MEMBER GET  Priority<&H00000008>() AS LONG
       MEMBER LET  Priority<&H00000008>()   ' Parameter Type AS LONG
       MEMBER CALL GetRoutingMethods<&H00000009>() AS VARIANT
       MEMBER GET  CanModify<&H0000000A>() AS LONG
       MEMBER CALL GetStatus<&H0000000B>() AS VARIANT
    END INTERFACE
    
    ' ****************************************************************************************
    ' CoClass name = FaxPorts
    ' Interface name = IFaxPorts
    ' IID = {D73733D5-CC80-11D0-B225-00C04FB6C2F5}
    ' IFaxPorts Interface
    ' Attributes = 4160 [&H1040] [Dual] [Dispatchable]
    ' Inherited interface = IDispatch
    ' ****************************************************************************************
    
    INTERFACE DISPATCH FaxTiffFaxPorts
       MEMBER GET  Count<&H00000001>() AS LONG
       MEMBER GET  Item<&H00000002>(Index AS LONG<&H00000000>) AS VARIANT
    END INTERFACE
    
    ' ****************************************************************************************
    ' CoClass name = FaxRoutingMethod
    ' Interface name = IFaxRoutingMethod
    ' IID = {2199F5F3-CEFC-11D0-A341-0000F800E68D}
    ' IFaxRoutingMethod Interface
    ' Attributes = 4160 [&H1040] [Dual] [Dispatchable]
    ' Inherited interface = IDispatch
    ' ****************************************************************************************
    
    INTERFACE DISPATCH FaxTiffFaxRoutingMethod
       MEMBER GET  DeviceId<&H00000001>() AS LONG
       MEMBER GET  Enable<&H00000002>() AS LONG
       MEMBER LET  Enable<&H00000002>()   ' Parameter Type AS LONG
       MEMBER GET  DeviceName<&H00000003>() AS STRING
       MEMBER GET  Guid<&H00000004>() AS STRING
       MEMBER GET  FunctionName<&H00000005>() AS STRING
       MEMBER GET  ImageName<&H00000006>() AS STRING
       MEMBER GET  FriendlyName<&H00000007>() AS STRING
       MEMBER GET  ExtensionName<&H00000008>() AS STRING
       MEMBER GET  RoutingData<&H00000009>() AS STRING
    END INTERFACE
    
    ' ****************************************************************************************
    ' CoClass name = FaxRoutingMethods
    ' Interface name = IFaxRoutingMethods
    ' IID = {2199F5F5-CEFC-11D0-A341-0000F800E68D}
    ' IFaxRoutingMethod Interface
    ' Attributes = 4160 [&H1040] [Dual] [Dispatchable]
    ' Inherited interface = IDispatch
    ' ****************************************************************************************
    
    INTERFACE DISPATCH FaxTiffFaxRoutingMethods
       MEMBER GET  Count<&H00000001>() AS LONG
       MEMBER GET  Item<&H00000002>(IN Index AS LONG<&H00000000>) AS VARIANT
    END INTERFACE
    
    ' ****************************************************************************************
    ' CoClass name = FaxStatus
    ' Interface name = IFaxStatus
    ' IID = {8B97E605-D054-11D0-B226-00C04FB6C2F5}
    ' IFaxStatus Interface
    ' Attributes = 4160 [&H1040] [Dual] [Dispatchable]
    ' Inherited interface = IDispatch
    ' ****************************************************************************************
    
    INTERFACE DISPATCH FaxTiffFaxStatus
       MEMBER GET  CallerId<&H00000001>() AS STRING
       MEMBER GET  Csid<&H00000002>() AS STRING
       MEMBER GET  CurrentPage<&H00000003>() AS LONG
       MEMBER GET  DeviceId<&H00000004>() AS LONG
       MEMBER GET  DeviceName<&H00000005>() AS STRING
       MEMBER GET  DocumentName<&H00000006>() AS STRING
       MEMBER GET  Send<&H00000008>() AS LONG
       MEMBER GET  Receive<&H00000009>() AS LONG
       MEMBER GET  Address<&H0000000A>() AS STRING
       MEMBER GET  RoutingString<&H0000000C>() AS STRING
       MEMBER GET  SenderName<&H0000000D>() AS STRING
       MEMBER GET  RecipientName<&H0000000E>() AS STRING
       MEMBER GET  DocumentSize<&H0000000F>() AS LONG
       MEMBER GET  Description<&H00000010>() AS STRING
       MEMBER GET  PageCount<&H00000011>() AS LONG
       MEMBER GET  Tsid<&H00000012>() AS STRING
       MEMBER GET  StartTime<&H00000013>() AS DOUBLE
       MEMBER GET  SubmittedTime<&H00000014>() AS DOUBLE
       MEMBER GET  ElapsedTime<&H00000015>() AS DOUBLE
       MEMBER CALL Refresh<&H00000016>()
    END INTERFACE
    
    ' ****************************************************************************************
    ' CoClass name = FaxDoc
    ' Interface name = IFaxDoc
    ' IID = {FA21F4C5-5C4C-11D1-83CF-00C04FB6E984}
    ' IFaxDoc Interface
    ' Attributes = 4160 [&H1040] [Dual] [Dispatchable]
    ' Inherited interface = IDispatch
    ' ****************************************************************************************
    
    INTERFACE DISPATCH FaxTiffFaxDoc
       MEMBER GET  FileName<&H00000001>() AS STRING
       MEMBER LET  FileName<&H00000001>()   ' Parameter Type AS STRING
       MEMBER GET  CoverpageName<&H00000002>() AS STRING
       MEMBER LET  CoverpageName<&H00000002>()   ' Parameter Type AS STRING
       MEMBER GET  SendCoverpage<&H00000003>() AS LONG
       MEMBER LET  SendCoverpage<&H00000003>()   ' Parameter Type AS LONG
       MEMBER GET  ServerCoverpage<&H00000004>() AS LONG
       MEMBER LET  ServerCoverpage<&H00000004>()   ' Parameter Type AS LONG
       MEMBER GET  DiscountSend<&H00000005>() AS LONG
       MEMBER LET  DiscountSend<&H00000005>()   ' Parameter Type AS LONG
       MEMBER GET  RecipientName<&H00000006>() AS STRING
       MEMBER LET  RecipientName<&H00000006>()   ' Parameter Type AS STRING
       MEMBER GET  RecipientCompany<&H00000007>() AS STRING
       MEMBER LET  RecipientCompany<&H00000007>()   ' Parameter Type AS STRING
       MEMBER GET  RecipientAddress<&H00000008>() AS STRING
       MEMBER LET  RecipientAddress<&H00000008>()   ' Parameter Type AS STRING
       MEMBER GET  RecipientCity<&H00000009>() AS STRING
       MEMBER LET  RecipientCity<&H00000009>()   ' Parameter Type AS STRING
       MEMBER GET  RecipientState<&H0000000A>() AS STRING
       MEMBER LET  RecipientState<&H0000000A>()   ' Parameter Type AS STRING
       MEMBER GET  RecipientZip<&H0000000B>() AS STRING
       MEMBER LET  RecipientZip<&H0000000B>()   ' Parameter Type AS STRING
       MEMBER GET  RecipientCountry<&H0000000C>() AS STRING
       MEMBER LET  RecipientCountry<&H0000000C>()   ' Parameter Type AS STRING
       MEMBER GET  RecipientTitle<&H0000000D>() AS STRING
       MEMBER LET  RecipientTitle<&H0000000D>()   ' Parameter Type AS STRING
       MEMBER GET  RecipientDepartment<&H0000000E>() AS STRING
       MEMBER LET  RecipientDepartment<&H0000000E>()   ' Parameter Type AS STRING
       MEMBER GET  RecipientOffice<&H0000000F>() AS STRING
       MEMBER LET  RecipientOffice<&H0000000F>()   ' Parameter Type AS STRING
       MEMBER GET  RecipientHomePhone<&H00000010>() AS STRING
       MEMBER LET  RecipientHomePhone<&H00000010>()   ' Parameter Type AS STRING
       MEMBER GET  RecipientOfficePhone<&H00000011>() AS STRING
       MEMBER LET  RecipientOfficePhone<&H00000011>()   ' Parameter Type AS STRING
       MEMBER GET  SenderName<&H00000012>() AS STRING
       MEMBER LET  SenderName<&H00000012>()   ' Parameter Type AS STRING
       MEMBER GET  SenderCompany<&H00000013>() AS STRING
       MEMBER LET  SenderCompany<&H00000013>()   ' Parameter Type AS STRING
       MEMBER GET  SenderAddress<&H00000014>() AS STRING
       MEMBER LET  SenderAddress<&H00000014>()   ' Parameter Type AS STRING
       MEMBER GET  SenderTitle<&H00000015>() AS STRING
       MEMBER LET  SenderTitle<&H00000015>()   ' Parameter Type AS STRING
       MEMBER GET  SenderDepartment<&H00000016>() AS STRING
       MEMBER LET  SenderDepartment<&H00000016>()   ' Parameter Type AS STRING
       MEMBER GET  SenderOffice<&H00000017>() AS STRING
       MEMBER LET  SenderOffice<&H00000017>()   ' Parameter Type AS STRING
       MEMBER GET  SenderHomePhone<&H00000018>() AS STRING
       MEMBER LET  SenderHomePhone<&H00000018>()   ' Parameter Type AS STRING
       MEMBER GET  SenderOfficePhone<&H00000019>() AS STRING
       MEMBER LET  SenderOfficePhone<&H00000019>()   ' Parameter Type AS STRING
       MEMBER GET  CoverpageNote<&H0000001A>() AS STRING
       MEMBER LET  CoverpageNote<&H0000001A>()   ' Parameter Type AS STRING
       MEMBER GET  CoverpageSubject<&H0000001B>() AS STRING
       MEMBER LET  CoverpageSubject<&H0000001B>()   ' Parameter Type AS STRING
       MEMBER GET  Tsid<&H0000001C>() AS STRING
       MEMBER LET  Tsid<&H0000001C>()   ' Parameter Type AS STRING
       MEMBER GET  BillingCode<&H0000001D>() AS STRING
       MEMBER LET  BillingCode<&H0000001D>()   ' Parameter Type AS STRING
       MEMBER GET  EmailAddress<&H0000001E>() AS STRING
       MEMBER LET  EmailAddress<&H0000001E>()   ' Parameter Type AS STRING
       MEMBER GET  DisplayName<&H0000001F>() AS STRING
       MEMBER LET  DisplayName<&H0000001F>()   ' Parameter Type AS STRING
       MEMBER CALL Send<&H00000020>() AS LONG
       MEMBER GET  FaxNumber<&H00000021>() AS STRING
       MEMBER LET  FaxNumber<&H00000021>()   ' Parameter Type AS STRING
       MEMBER SET  ConnectionObject<&H00000022>()   ' Parameter Type AS VARIANT
       MEMBER GET  CallHandle<&H00000023>() AS LONG
       MEMBER LET  CallHandle<&H00000023>()   ' Parameter Type AS LONG
       MEMBER GET  SenderFax<&H00000024>() AS STRING
       MEMBER LET  SenderFax<&H00000024>()   ' Parameter Type AS STRING
    END INTERFACE
    
    ' ****************************************************************************************
    ' CoClass name = FaxJobs
    ' Interface name = IFaxJobs
    ' IID = {55DABFD3-5C9E-11D1-B791-000000000000}
    ' IFaxJobs Interface
    ' Attributes = 4160 [&H1040] [Dual] [Dispatchable]
    ' Inherited interface = IDispatch
    ' ****************************************************************************************
    
    INTERFACE DISPATCH FaxTiffFaxJobs
       MEMBER GET  Count<&H00000001>() AS LONG
       MEMBER GET  Item<&H00000002>(Index AS LONG<&H00000000>) AS VARIANT
    END INTERFACE
    
    ' ****************************************************************************************
    ' CoClass name = FaxJob
    ' Interface name = IFaxJob
    ' IID = {55DABFD5-5C9E-11D1-B791-000000000000}
    ' IFaxJob Interface
    ' Attributes = 4160 [&H1040] [Dual] [Dispatchable]
    ' Inherited interface = IDispatch
    ' ****************************************************************************************
    
    INTERFACE DISPATCH FaxTiffFaxJob
       MEMBER GET  JobId<&H00000001>() AS LONG
       MEMBER GET  Type<&H00000002>() AS LONG
       MEMBER GET  UserName<&H00000003>() AS STRING
       MEMBER GET  QueueStatus<&H00000004>() AS STRING
       MEMBER GET  DeviceStatus<&H00000005>() AS STRING
       MEMBER GET  PageCount<&H00000006>() AS LONG
       MEMBER GET  FaxNumber<&H00000007>() AS STRING
       MEMBER GET  RecipientName<&H00000008>() AS STRING
       MEMBER GET  Tsid<&H00000009>() AS STRING
       MEMBER GET  SenderName<&H0000000A>() AS STRING
       MEMBER GET  SenderCompany<&H0000000B>() AS STRING
       MEMBER GET  SenderDept<&H0000000C>() AS STRING
       MEMBER GET  BillingCode<&H0000000D>() AS STRING
       MEMBER GET  DisplayName<&H0000000E>() AS STRING
       MEMBER GET  DiscountSend<&H0000000F>() AS LONG
       MEMBER CALL SetStatus<&H00000010>(Command AS LONG<&H00000000>)
       MEMBER CALL Refresh<&H00000011>()
    END INTERFACE

    Leave a comment:


  • Mike Trader
    replied
    Frank,
    Perhaps you could start a new thread on Jose's site in the COM section and attach FaxCOM.inc?

    Leave a comment:


  • Frank W. Kelley
    replied
    From the comments:

    This procedure requires a properly installed and working fax/modem card in the local machine.
    It also makes use of José Roca's indispensable TypeLib program for creating the necessary
    FaxCOM.inc file.

    Leave a comment:


  • Martin Francom
    replied
    Where do I find the faxcom.dll and the faxcom.inc files?

    Does anyone have a link to them?

    Leave a comment:


  • Frank W. Kelley
    started a topic Faxing Using COM

    Faxing Using COM

    The following function allows the faxing of files (.doc, .rtf, .txt, etc.) from within a PB program running under Windows 2000 Professional or Windows XP using the FaxCOM interface.

    Note that the FaxCOM type library is required (available by using PB's COM browser or José Roca's excellent TypeLib Browser). The host machine must have a fax/modem card installed and working.

    Code:
    ' ***************************************************************************************************
    '                           Sending a Fax from within a PB program via COM
    ' ***************************************************************************************************
    '
    ' This procedure requires a properly installed and working fax/modem card in the local machine.
    ' It also makes use of José Roca's indispensable TypeLib program for creating the necessary
    ' FaxCOM.inc file.
    '
    ' The interface can send the contents of a designated file (the "docfile$") provided the file
    ' suffix is one that has been registered with Windows (such as .doc, .txt, .rtf, etc.).  In other
    ' words, Windows needs to know how to handle the document type in order to fax it.
    '
    ' The document file must be fully qualified (e.g.: "C:\Local Documents\Fax\FaxDoc1.rtf")
    '
    ' According to MSDN documentation, this particular COM solution works under Windows 2000 Pro and
    ' Windows XP.  It has not been tested on Windows Vista.  It SHOULD work on any machine with the
    ' FaxCom 1.0 Type Library installed (but not guaranteed).
    '
    ' Thanks to José Roca for his assistance in developing this routine.
    
    #INCLUDE "FaxCOM.inc"                                                      ' Fax COM Interface
                                                                               ' Generated by TypeLib 2.05
                                                                               ' Library name: FAXCOMLib
                                                                               ' faxcom 1.0 Type Library
    
    ' ---------------------------------------------------------------------------------------------------
    FUNCTION SendFaxDocument&(docfile$, _              ' Qualified path and file name of document to fax
                              recipient$, _            ' Name of recipient
                              faxnumber$, _            ' Recipient's fax number
                              yourfax$, _              ' Your fax number
                              retries&)                ' Number of times to retry
    
       LOCAL r&, thismachine$, result&
       LOCAL oFaxServe         AS DISPATCH
       LOCAL oFaxDoc           AS DISPATCH
       LOCAL vHost             AS VARIANT
       LOCAL vDoc              AS VARIANT
       LOCAL vObj              AS VARIANT
       LOCAL vRetries          AS VARIANT
       LOCAL vFaxNumber        AS VARIANT
       LOCAL vRecipient        AS VARIANT
       LOCAL vTSID             AS VARIANT
    
       IF LEN(DIR$(docfile$)) = 0 OR _
          LEN(faxnumber$) = 0 OR _
          LEN(yourfax$) = 0 THEN
             EXIT FUNCTION
       END IF
    
       LET oFaxServe = NEW DISPATCH IN $PROGID_FaxServerFaxServer1             ' Create the interface
    
       IF ISTRUE ISOBJECT(oFaxServe) THEN                                      ' Object created successfully
     
          HOST NAME TO thismachine$                                            ' Get host name
          LET vHost = thismachine$                                             ' Assign to variant
          OBJECT CALL oFaxServe.CONNECT(vHost)                                 ' Connect to server
    
          LET vRetries = retries&                                              ' Set number of retries
          OBJECT LET oFaxServe.Retries = vRetries
    
          LET vDoc = docfile$                                                  ' Assign document to variant
    
          OBJECT CALL oFaxServe.CreateDocument(vDoc) TO vObj                   ' Set up document interface
          LET oFaxDoc = vObj                                                   ' Create FaxDox dispatch
    
          IF ISTRUE ISOBJECT(oFaxDoc) THEN                                     ' Dispatch created OK
            
             LET vFaxNumber = REMOVE$(faxnumber$, "-")                         ' Remove any dashes
             OBJECT LET oFaxDoc.FaxNumber = vFaxNumber                         ' Assign to interface
    
             LET vRecipient = recipient$                                       ' Recipient's name
             OBJECT LET oFaxDoc.RecipientName = vRecipient                     ' Assign to interface
    
             LET vTSID = yourfax$                                              ' Sender's fax number
             OBJECT LET oFaxDoc.TSID = vTSID                                   ' Assign sender's fax number
    
             OBJECT CALL oFaxDoc.SEND                                          ' Send the fax
             LET oFaxDoc = NOTHING                                             ' Close the dispatch
    
             result& = %TRUE                                                   ' Signal success
          END IF
    
          OBJECT CALL oFaxServe.Disconnect                                     ' Disconnect the server
          LET oFaxServe = NOTHING                                              ' Close the interface
    
       ELSE                                                                    ' Fax server connection failed
          MSGBOX "Fax/modem not installed or not working properly.", _         ' Alert user
             %MB_OK, "Unable to Connect"
    
       END IF
    
       FUNCTION = result&                                                      ' Return result
    
    END FUNCTION                                                               ' // SendFaxDocument
    ' ---------------------------------------------------------------------------------------------------
Working...
X