Sylvio,
I don't know if this is of any help to you. I use TAPI to make phonecalls from my application by using this code :
DLL32 Function PhoneTo(cPhoneNo As LPSTR,cAppName AS LPSTR,cName AS LPSTR,cComment AS LPSTR) AS LONG PASCAL FROM "tapiRequestMakeCall" LIB "tapi32.dll"
PROCEDURE MakePhoneCall(cTelNr,cTelNm,cTelSrt,cTelDos,cPreOK)
LOCAL TstTel := "0123456789()+"
LOCAL TstNr := 0
DEFAULT(cTelNr ,SPACE(20))
DEFAULT(cTelNm ,"Telephone test")
DEFAULT(cTelDos,"")
DEFAULT(cPreOK,.T.)
PRIVATE TelRet := .T.
DEFINE DIALOG KeuDlg NAME "K_TELEFOON" FONT oFontSFB
REDEFINE GET cTelNr ID 101 OF KeuDlg PICTURE REPLICATE("!",20)
REDEFINE BUTTON ID 901 OF KeuDlg ACTION (TelRet:=.T.,KeuDlg:END())
REDEFINE BUTTON ID 902 OF KeuDlg ACTION (TelRet:=.F.,KeuDlg:END())
ACTIVATE Dialog KeuDlg CENTERED
IF TelRet .AND. !EMPTY(cTelNr)
cTelNr := ALLTRIM(cTelNr)
FOR i=1 TO LEN(cTelNr)
TstNr := AT(SUBSTR(cTelNr,i,1),TstTel)
IF TstNr = 0
cTelNr := LEFT(cTelNr,i-1) + RIGHT(cTelNr,LEN(cTelNr)-i)
i--
ENDIF
NEXT
IF LEFT(cTelNr,1) = "+" ; cTelNr := "00" + RIGHT(cTelNr,LEN(cTelNr)-1) ; ENDIF
ENDIF
IF TelRet
PhoneTo(IF(US->USTELNUL,"0","") + ALLTRIM(cTelNr),"is called by",ALLTRIM(cTelNm),ALLTRIM(US->USERNAAM))
ENDIF
RETURN
If the telephone software is using TAPI too, this function will work. I have installed it on networks of several customers.
Good luck.
Regards,
Michel D.
Genk (Belgium)
_____________________________________________________________________________________________
I use : FiveWin for (x)Harbour v. 25.12 - Harbour 3.2.0 (May 2025) - xHarbour Builder (January 2020) - Bcc773