Avatar billede Slettet bruger
18. maj 1999 - 13:12 Der er 25 kommentarer

TAPI i Delphi 4

Jeg ved at man skal bruge TAPI
(Telephone Application Program Interface) for at kunne lave noget med telefoner gennem Delphi.
Hvordan gør jeg det ?
Hvor kan jeg få komponenter til Delphi 4 ? (DER VIRKER!!!)
Og hvor kan jeg få noget source-hlp ?
Avatar billede 127144146281 Nybegynder
18. maj 1999 - 14:30 #1
Prøv:

http://sunsite.icm.edu.pl/delphi/authors/a0000209.htm

http://sunsite.icm.edu.pl/delphi/authors/a0000952.htm


Hvis det ike er godt nok så afvis bare svaret, jeg skal godt nok lave for at du sætter nogle point af til det
Avatar billede Slettet bruger
19. maj 1999 - 13:33 #2
F*ck det her lede system :o(
Anywayz:
127 >> Thx.. men har desværre været inde på Delphi's superside :o/
Havde ozo dl dem før, (virkede ikke til Delphi 4)
Avatar billede Slettet bruger
19. maj 1999 - 13:43 #3
Hvordan kalder man TAPI funktionen i Delphi 4 ?
Og hvordan opretter man en "sink" (TapiCallBack) ?
Det er ret nødvendigt nemlig :o(
Jeg kender alle kommandoerne til at ringe op med osv., jeg ved bare ikke hvordan jeg skal aktivere dem.
f.eks. Label1.CAPTION, hvor jeg kender CAPTION men ikke Label1.
(Label1 er en parallel til TAPI/whatever)
Avatar billede Slettet bruger
19. maj 1999 - 13:44 #4
Er det egentlig ikke ret skidt at der ikke er mere information om emnet på nettet ?
Avatar billede 127144146281 Nybegynder
20. maj 1999 - 21:25 #5
jo
Avatar billede 127144146281 Nybegynder
20. maj 1999 - 21:32 #6
Det eneste jeg ellers kan foreslå er at søge efter TAPI på Microsfts hjemmeside (det er jo de  der har lavet det)
Avatar billede zapper77 Nybegynder
20. maj 1999 - 23:34 #7
Jeg ved nu at man skal bruge kommandoen:

LineInitialize( lphLineApp, hInstance, LineCallback, lpszFriendlyAppName, lpdNumDevs)

Men når jeg skriver dem ind får jeg fejl-meddelsen om at lphLineApp ikke er af det korrekte format.
Jeg bruger linien:

var
  FLineApp: lphLineApp;

til at definere den.
Er det ikke korrekt ?
(der skal forresten snabela foran)
Avatar billede zapper77 Nybegynder
22. maj 1999 - 01:03 #8
..har fundet ud af det...

Har et helt nyt problem!
Hvis du har den nyeste tapi.pas
Send den venligst til mig :)
Zzapper@hotmail.com
Avatar billede 127144146281 Nybegynder
25. maj 1999 - 19:21 #9
Den har jeg ikke, (har kun Delphi 3 C/S)
Avatar billede zapper77 Nybegynder
27. maj 1999 - 19:46 #10
Mig er gået over til Delphi 3...
(altså med det program)

Hvis du har bare PRØVET at få noget til at virke, så giv mig lige besked...

Danke!
Avatar billede 127144146281 Nybegynder
27. maj 1999 - 21:21 #11
Fundet følgende om callback, hved ikke om det hjælper:


// This code sample shows only part of the callback function.

LPTSTR lpszStatus;

  switch (dwMsg)
  {
    case LINE_CALLSTATE:

      // If the CALLSTATE message does not apply to the call in
      // progress, then return.
      if (g_hCall != (HCALL) hDevice)
        return;

      // dwParam1 is the specific CALLSTATE change occurring.
      switch (dwParam1)
      {
        case LINECALLSTATE_DIALTONE:
          lpszStatus = TEXT("Dial tone");
          break;

        case LINECALLSTATE_DIALING:
          lpszStatus = TEXT("Dialing");
          break;

        case LINECALLSTATE_PROCEEDING:
          lpszStatus = TEXT("Dialing has completed and the call ")
                      TEXT("is proceeding.");
          break;

        case LINECALLSTATE_RINGBACK:
          lpszStatus = TEXT("Ring back");
          break;

        case LINECALLSTATE_CONNECTED:
          lpszStatus = TEXT("Connected");
          break;
       
        case LINECALLSTATE_BUSY:
          ErrorBox (TEXT("Line busy, shutting down"));
          CurrentLineClose ();
          if (g_hwndDial)
            SendMessage (g_hwndDial, WM_COMMAND, MAKEWPARAM(IDOK,0), 0);
          break;

        case LINECALLSTATE_IDLE:
          ErrorBox (TEXT("Line is idle"));
          CurrentLineClose ();
          if (g_hwndDial)
            SendMessage (g_hwndDial, WM_COMMAND, MAKEWPARAM(IDOK,0), 0);
          break;

        case LINECALLSTATE_SPECIALINFO:
          ErrorBox (TEXT("Special Information, couldn't dial number"));
          CurrentLineClose ();
          if (g_hwndDial)
            SendMessage (g_hwndDial, WM_COMMAND, MAKEWPARAM(IDOK,0), 0);
          break;

        case LINECALLSTATE_DISCONNECTED:
        {
          LPTSTR lpszDisconnected;

          switch (dwParam2)
          {
            case LINEDISCONNECTMODE_NORMAL:
              lpszDisconnected = TEXT("Remote party disconnected");
              break;

            case LINEDISCONNECTMODE_UNKNOWN:
              lpszDisconnected = TEXT("Disconnected: Unknown reason");
              break;

            case LINEDISCONNECTMODE_REJECT:
              lpszDisconnected = TEXT("Remote Party rejected call");
              break;

            case LINEDISCONNECTMODE_PICKUP:
              lpszDisconnected =
                TEXT("Disconnected: Local phone picked up");
              break;

            case LINEDISCONNECTMODE_FORWARDED:
              lpszDisconnected = TEXT("Disconnected: Forwarded");
              break;

            case LINEDISCONNECTMODE_BUSY:
              lpszDisconnected = TEXT("Disconnected: Busy");
              break;

            case LINEDISCONNECTMODE_NOANSWER:
              lpszDisconnected = TEXT("Disconnected: No Answer");
              break;

            case LINEDISCONNECTMODE_BADADDRESS:
              lpszDisconnected = TEXT("Disconnected: Bad address");
              break;

            case LINEDISCONNECTMODE_UNREACHABLE:
              lpszDisconnected = TEXT("Disconnected: Unreachable");
              break;

            case LINEDISCONNECTMODE_CONGESTION:
              lpszDisconnected = TEXT("Disconnected: Congestion");
              break;

            case LINEDISCONNECTMODE_INCOMPATIBLE:
              lpszDisconnected = TEXT("Disconnected: Incompatible");
              break;

            case LINEDISCONNECTMODE_UNAVAIL:
              lpszDisconnected = TEXT("Disconnected: Unavailable");
              break;

            case LINEDISCONNECTMODE_NODIALTONE:
              lpszDisconnected = TEXT("Disconnected: No dial tone");
              break;

            default:
              lpszDisconnected =
                TEXT("Disconnected: LINECALLSTATE; Unknown reason");
              break;
          }

          ErrorBox (lpszDisconnected);
          CurrentLineClose ();
          if (g_hwndDial)
            SendMessage (g_hwndDial, WM_COMMAND, MAKEWPARAM(IDOK,0), 0);
          break;
        }
      }
      break;

Avatar billede 127144146281 Nybegynder
27. maj 1999 - 21:21 #12
Avatar billede zapper77 Nybegynder
28. maj 1999 - 21:22 #13
Heheh... Thx..
Men det kræver at der er noget der sender tilbage...
Kan ikke få noget til at virke :o(
Men tak alligevel :)
Avatar billede 127144146281 Nybegynder
30. maj 1999 - 02:16 #14
Hvad er det helt præcist dit program skal kunne ?
Avatar billede zapper77 Nybegynder
30. maj 1999 - 19:49 #15
Ret simpelt indtil videre...

Skriver et tlf. nummer, trykker på en knap, og programmet ringer op.

Det eneste indtil videre..
(mit første problem)

Btw.. Al'  den kode, er det ikke til C++ ?
Avatar billede 127144146281 Nybegynder
31. maj 1999 - 22:29 #16
Jo
Avatar billede januskh Nybegynder
11. juni 1999 - 11:08 #17
Nej, det er Windows API kald
Avatar billede zapper77 Nybegynder
11. juni 1999 - 18:28 #18
...Jaer...

Hvordan får jeg det inplementeret i et Delphi program?
Avatar billede 127144146281 Nybegynder
11. juni 1999 - 18:47 #19
>>januskh jeg kan da godt se at det er API kald, men det er stadig skrevet i C++
Avatar billede gusse Nybegynder
14. juni 1999 - 09:38 #20
Avatar billede 127144146281 Nybegynder
14. juni 1999 - 14:30 #21
jeg får nu ellers:
HTTP 404 NOT Found
så det vil jeg nu ikke sige!!!!!!!!!
Avatar billede 127144146281 Nybegynder
14. juni 1999 - 14:32 #22
Avatar billede gusse Nybegynder
14. juni 1999 - 14:34 #23
Avatar billede lrj Nybegynder
25. oktober 1999 - 22:25 #24
Lukker du ikke lige spørgsmålet? Evt. stille et nyt?

Har du fået det til at virke?
Avatar billede januskh Nybegynder
01. september 2012 - 17:18 #25
Hva? Skal det her spm ikke snart lukkes?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester