I’m trying to find out if either VB6 or Delphi could be used to make a simple dialer for Windows XP. A dialer my friend made in VB5 works on NT, but not on XP. By a simple dialer, I mean one that I can use to read a single telephone number entry database created with Qbasic and dial that number over the XP modem. (Note, this is NOT an Internet dial-up connection, which is so often associated with the tem “dialer).

I have a Qbasic program that can be used to select a phone number and send it to a database. I need either a VB6 solution or Delphi solution to dial it. Any ideas, books, links, source code, etc., would be appreciated?

Pete

Dani AI

Generated

Short answer: yes — you can build a small dialer in VB6 or Delphi that works on Windows XP, but the right approach depends on the modem driver. If the modem is a "real" serial modem (shows as a COM port) you can talk to it with MSComm or raw serial I/O and send Hayes AT dial commands; if it’s a soft/“winmodem” the OS exposes it through TAPI and you should use TAPI calls instead of direct COM-port access. (learn.microsoft.com)

Quick checklist to diagnose what to do next:

  • In Device Manager look for the device under “Ports (COM & LPT)” (serial) or under “Modems” (TAPI).
  • If it’s a COM device, open it (HyperTerminal or MSComm) and send AT — modem should reply OK; to dial use ATDT<number> (tone) or ATDP<number> (pulse). If that works you can automate the same from VB6/Delphi via MSComm. (developerfusion.com)

Practical VB6 choices (minimal examples)

  • Simple TAPI hand‑off (lets Windows’ dialer/call‑manager place the call):
    
    Private Declare Function tapiRequestMakeCall Lib "TAPI32.DLL" _
    (ByVal DestAddress As String, ByVal AppName As String, _
     ByVal CalledParty As String, ByVal Comment As String) As Long

Call tapiRequestMakeCall("5551212", App.Title, "", "")


This requests a voice call and is the easiest route for winmodems; for direct program control you can use the lower‑level TAPI `lineInitialize/lineOpen/lineMakeCall` sequence (more work). ([learn.microsoft.com](https://learn.microsoft.com/en-us/windows/win32/api/tapi/nf-tapi-tapirequestmakecall?utm_source=openai))

If you choose MSComm (serial modems) the library example is straightforward: open the COM port, set `Settings = "9600,N,8,1"`, then `MSComm1.Output = "ATDT" & PhoneNumber & vbCr`. Test manually first so you don’t chase driver issues. ([developerfusion.com](https://www.developerfusion.com/code/194/dialer/?utm_source=openai))

Troubleshooting tips: confirm the modem driver (vendor drivers vs generic), try an external hardware modem if the built‑in one is a winmodem, and note that `tapiRequestMakeCall` will fail if no call‑manager is available (it will return the TAPI error). If you post the modem make/model and whether it shows under Ports or Modems, guidance can be tailored.

Recommended Answers

All 3 Replies

Thanks, I'll check it out.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.