You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
547 lines
26 KiB
547 lines
26 KiB
VERSION 5.00
|
|
Object = "{6B7E6392-850A-101B-AFC0-4210102A8DA7}#1.0#0"; "COMCTL32.OCX"
|
|
Object = "{248DD890-BB45-11CF-9ABC-0080C7E7B78D}#1.0#0"; "MSWINSCK.OCX"
|
|
Begin VB.Form frmChat
|
|
BorderStyle = 1 'Fixed Single
|
|
Caption = "Inter Net Voice"
|
|
ClientHeight = 3030
|
|
ClientLeft = 2625
|
|
ClientTop = 1530
|
|
ClientWidth = 4170
|
|
FillColor = &H00808080&
|
|
Icon = "chat.frx":0000
|
|
LinkTopic = "Form1"
|
|
LockControls = -1 'True
|
|
MaxButton = 0 'False
|
|
ScaleHeight = 3030
|
|
ScaleWidth = 4170
|
|
WhatsThisButton = -1 'True
|
|
WhatsThisHelp = -1 'True
|
|
Begin VB.PictureBox Picture3
|
|
Height = 2565
|
|
Left = 60
|
|
ScaleHeight = 2505
|
|
ScaleWidth = 3945
|
|
TabIndex = 0
|
|
Top = 390
|
|
Width = 4005
|
|
Begin VB.CommandButton cmdTalk
|
|
Caption = "&Talk"
|
|
BeginProperty Font
|
|
Name = "MS Sans Serif"
|
|
Size = 12
|
|
Charset = 0
|
|
Weight = 400
|
|
Underline = 0 'False
|
|
Italic = 0 'False
|
|
Strikethrough = 0 'False
|
|
EndProperty
|
|
Height = 345
|
|
Left = 540
|
|
TabIndex = 4
|
|
Top = 2130
|
|
Width = 2865
|
|
End
|
|
Begin VB.ListBox ConnectionList
|
|
Height = 1065
|
|
ItemData = "chat.frx":0442
|
|
Left = 60
|
|
List = "chat.frx":0444
|
|
TabIndex = 2
|
|
Top = 840
|
|
Width = 3825
|
|
End
|
|
Begin VB.ComboBox txtServer
|
|
Height = 315
|
|
ItemData = "chat.frx":0446
|
|
Left = 630
|
|
List = "chat.frx":0448
|
|
Sorted = -1 'True
|
|
TabIndex = 1
|
|
Top = 60
|
|
Width = 3255
|
|
End
|
|
Begin VB.Image outLight
|
|
Height = 345
|
|
Left = 3510
|
|
Picture = "chat.frx":044A
|
|
Stretch = -1 'True
|
|
Top = 2130
|
|
Width = 345
|
|
End
|
|
Begin VB.Image inLight
|
|
Height = 345
|
|
Left = 60
|
|
Picture = "chat.frx":0754
|
|
Stretch = -1 'True
|
|
Top = 2130
|
|
Width = 345
|
|
End
|
|
Begin VB.Label Label2
|
|
AutoSize = -1 'True
|
|
Caption = "Conference List:"
|
|
Height = 195
|
|
Left = 60
|
|
TabIndex = 3
|
|
Top = 600
|
|
Width = 1425
|
|
End
|
|
Begin VB.Image imgStatus
|
|
Appearance = 0 'Flat
|
|
Height = 390
|
|
Left = 90
|
|
Picture = "chat.frx":0A5E
|
|
Stretch = -1 'True
|
|
Top = 30
|
|
Width = 420
|
|
End
|
|
End
|
|
Begin ComctlLib.Toolbar Tools
|
|
Align = 1 'Align Top
|
|
Height = 390
|
|
Left = 0
|
|
TabIndex = 5
|
|
Top = 0
|
|
Width = 4170
|
|
_ExtentX = 7355
|
|
_ExtentY = 688
|
|
ImageList = "ImgIcons"
|
|
BeginProperty Buttons {0713E452-850A-101B-AFC0-4210102A8DA7}
|
|
NumButtons = 5
|
|
BeginProperty Button1 {0713F354-850A-101B-AFC0-4210102A8DA7}
|
|
Style = 3
|
|
EndProperty
|
|
BeginProperty Button2 {0713F354-850A-101B-AFC0-4210102A8DA7}
|
|
Object.ToolTipText = "Call"
|
|
ImageIndex = 4
|
|
EndProperty
|
|
BeginProperty Button3 {0713F354-850A-101B-AFC0-4210102A8DA7}
|
|
Enabled = 0 'False
|
|
Object.ToolTipText = "Hangup"
|
|
ImageIndex = 5
|
|
EndProperty
|
|
BeginProperty Button4 {0713F354-850A-101B-AFC0-4210102A8DA7}
|
|
Style = 3
|
|
EndProperty
|
|
BeginProperty Button5 {0713F354-850A-101B-AFC0-4210102A8DA7}
|
|
Object.ToolTipText = "Auto Answering"
|
|
ImageIndex = 1
|
|
Style = 1
|
|
Value = 1
|
|
EndProperty
|
|
EndProperty
|
|
End
|
|
Begin MSWinsockLib.Winsock TCPSocket
|
|
Index = 0
|
|
Left = 3720
|
|
Top = 3600
|
|
_ExtentX = 741
|
|
_ExtentY = 741
|
|
End
|
|
Begin ComctlLib.ImageList ImgIcons
|
|
Left = 4290
|
|
Top = 2070
|
|
_ExtentX = 1005
|
|
_ExtentY = 1005
|
|
BackColor = -2147483643
|
|
ImageWidth = 16
|
|
ImageHeight = 16
|
|
BeginProperty Images {0713E8C2-850A-101B-AFC0-4210102A8DA7}
|
|
NumListImages = 11
|
|
BeginProperty ListImage1 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
|
|
Picture = "chat.frx":0EA0
|
|
Key = ""
|
|
EndProperty
|
|
BeginProperty ListImage2 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
|
|
Picture = "chat.frx":11BA
|
|
Key = ""
|
|
EndProperty
|
|
BeginProperty ListImage3 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
|
|
Picture = "chat.frx":14D4
|
|
Key = ""
|
|
EndProperty
|
|
BeginProperty ListImage4 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
|
|
Picture = "chat.frx":17EE
|
|
Key = ""
|
|
EndProperty
|
|
BeginProperty ListImage5 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
|
|
Picture = "chat.frx":1B08
|
|
Key = ""
|
|
EndProperty
|
|
BeginProperty ListImage6 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
|
|
Picture = "chat.frx":1E22
|
|
Key = ""
|
|
EndProperty
|
|
BeginProperty ListImage7 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
|
|
Picture = "chat.frx":213C
|
|
Key = ""
|
|
EndProperty
|
|
BeginProperty ListImage8 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
|
|
Picture = "chat.frx":2456
|
|
Key = ""
|
|
EndProperty
|
|
BeginProperty ListImage9 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
|
|
Picture = "chat.frx":2770
|
|
Key = ""
|
|
EndProperty
|
|
BeginProperty ListImage10 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
|
|
Picture = "chat.frx":2A8A
|
|
Key = ""
|
|
EndProperty
|
|
BeginProperty ListImage11 {0713E8C3-850A-101B-AFC0-4210102A8DA7}
|
|
Picture = "chat.frx":2DA4
|
|
Key = ""
|
|
EndProperty
|
|
EndProperty
|
|
End
|
|
End
|
|
Attribute VB_Name = "frmChat"
|
|
Attribute VB_Base = "0{0E3A2BAD-DE40-11CF-8FDF-D0AF03C10000}"
|
|
Attribute VB_GlobalNameSpace = False
|
|
Attribute VB_Creatable = False
|
|
Attribute VB_TemplateDerived = False
|
|
Attribute VB_PredeclaredId = True
|
|
Attribute VB_Exposed = False
|
|
|
|
Option Explicit
|
|
Public CLOSINGAPPLICATION As Boolean ' Application status flag
|
|
Public wStream As Object
|
|
|
|
'--------------------------------------------------------------
|
|
Private Sub cmdTalk_Click() ' Activates Audio PlayBack
|
|
'--------------------------------------------------------------
|
|
Dim rc As Long ' Return Code Variable
|
|
Dim iPort As Integer ' Local Port
|
|
Dim itm As Integer ' Current listitem
|
|
'--------------------------------------------------------------
|
|
If (Not wStream.Playing And wStream.PlayDeviceFree And _
|
|
Not wStream.Recording And wStream.RecDeviceFree) Then ' Validate Audio Device Status
|
|
wStream.Playing = True ' Turn Playing Status On
|
|
cmdTalk.Caption = "&Playing" ' Modify Button Status Caption
|
|
Screen.MousePointer = vbHourglass ' Set Pointer To HourGlass
|
|
|
|
iPort = wStream.StreamInQueue
|
|
Do While (iPort <> NULLPORTID) ' While socket ports have data to playback
|
|
inLight.Picture = ImgIcons.ListImages(speakON).Picture ' Flash playback image
|
|
inLight.Refresh ' Repaint picture image
|
|
|
|
For itm = 0 To ConnectionList.ListCount - 1 ' Search for listitem currently playing sound data
|
|
If (ConnectionList.ItemData(itm) = iPort) Then ' If a match is found...
|
|
ConnectionList.TopIndex = itm ' Set that listitem to top of listbox
|
|
ConnectionList.Selected(itm) = True ' Select listitem to show who is currently talking...
|
|
Exit For ' Quit listitem search
|
|
End If
|
|
Next ' Check next listitem
|
|
|
|
rc = wStream.PlayWave(Me.hWnd, iPort) ' Play wave data in iPort...
|
|
Call wStream.RemoveStreamFromQueue(iPort) ' Remove PortID From PlayWave Queue
|
|
iPort = wStream.StreamInQueue
|
|
|
|
inLight.Picture = ImgIcons.ListImages(speakOFF).Picture ' Show done talking image...
|
|
inLight.Refresh ' Repaint image...
|
|
Loop ' Search for next socket in playback queue
|
|
|
|
ConnectionList.TopIndex = 0 ' Reset top image...
|
|
If (ConnectionList.ListCount > 0) Then
|
|
ConnectionList.Selected(0) = True ' Deselect previously listitem
|
|
ConnectionList.Selected(0) = False ' Deselect currently selected listitem
|
|
End If
|
|
Screen.MousePointer = vbDefault ' Set Pointer To Normal
|
|
cmdTalk.Caption = "&Talk" ' Modify Button Status Caption
|
|
wStream.Playing = False ' Turn Playing Status Off
|
|
End If
|
|
'--------------------------------------------------------------
|
|
End Sub
|
|
'--------------------------------------------------------------
|
|
|
|
'--------------------------------------------------------------
|
|
Private Sub cmdTalk_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
|
|
' Activates Audio Recording...
|
|
'--------------------------------------------------------------
|
|
Dim rc As Long ' Return Code Variable
|
|
'--------------------------------------------------------------
|
|
If (Not wStream.Playing And _
|
|
Not wStream.Recording And _
|
|
wStream.RecDeviceFree And _
|
|
wStream.PlayDeviceFree) Then ' Check Audio Device Status
|
|
wStream.Recording = True ' Set Recording Flag
|
|
cmdTalk.Caption = "&Talking" ' Update Button Status To "Talking"
|
|
Screen.MousePointer = vbHourglass ' Set Hourglass
|
|
outLight.Picture = ImgIcons.ListImages(mikeON).Picture ' Show outgoing message image
|
|
outLight.Refresh ' Repaint image
|
|
|
|
rc = wStream.RecordWave(Me.hWnd, TCPSocket) ' Record voice and send to all connected sockets
|
|
|
|
outLight.Picture = ImgIcons.ListImages(mikeOFF).Picture ' Show done image
|
|
outLight.Refresh ' Repaint image
|
|
Screen.MousePointer = vbDefault ' Reset Mouse Pointer
|
|
cmdTalk.Caption = "&Talk" ' Reset Button Status
|
|
|
|
If Not wStream.Playing And _
|
|
wStream.PlayDeviceFree And _
|
|
wStream.RecDeviceFree Then ' Is Audio Device Free?
|
|
Call cmdTalk_Click ' Active Playback Of Any Inbound Messages...
|
|
End If
|
|
End If
|
|
'--------------------------------------------------------------
|
|
End Sub
|
|
'--------------------------------------------------------------
|
|
|
|
Private Sub cmdTalk_MouseUp(Button As Integer, Shift As Integer, X As Single, Y As Single)
|
|
wStream.Recording = False ' Stop Recording
|
|
End Sub
|
|
|
|
Private Sub connectionlist_Click()
|
|
Tools.Buttons(tbHANGUP).Enabled = True
|
|
End Sub
|
|
|
|
'--------------------------------------------------------------
|
|
Private Sub ConnectionList_DblClick()
|
|
'--------------------------------------------------------------
|
|
Dim MemberID As String ' (Server)(TCPidx)(RemoteIP)
|
|
Dim Idx As Long ' TCP idx
|
|
'--------------------------------------------------------------
|
|
If (ConnectionList.Text = "") Then Exit Sub
|
|
MemberID = ConnectionList.List(ConnectionList.ListIndex) ' Get The Conversation MemberID String From List Box
|
|
|
|
Call GetIdxFromMemberID(TCPSocket, MemberID, Idx) ' Get TCP idx From Member ID
|
|
Call RemoveConnectionFromList(TCPSocket(Idx), ConnectionList) ' Clear ListBox Entry(s)...
|
|
Call Disconnect(TCPSocket(Idx)) ' Disconnect Socket Connection
|
|
Unload TCPSocket(Idx) ' Destroy socket instance
|
|
|
|
cmdTalk.Enabled = (ConnectionList.ListCount > 0) ' Enable/Disable Talk Button...
|
|
Tools.Buttons(tbHANGUP).Enabled = (ConnectionList.Text <> "")
|
|
If Not cmdTalk.Enabled Then
|
|
inLight.Picture = ImgIcons.ListImages(speakNO).Picture
|
|
outLight.Picture = ImgIcons.ListImages(mikeNO).Picture
|
|
End If
|
|
'--------------------------------------------------------------
|
|
End Sub
|
|
'--------------------------------------------------------------
|
|
|
|
'--------------------------------------------------------------
|
|
Private Sub Form_Load()
|
|
'--------------------------------------------------------------
|
|
Dim rc As Long ' Return Code Variable
|
|
Dim Idx As Long ' Current TCP idx variable
|
|
Dim TCPidx As Long ' Newly created TCP idx value
|
|
'--------------------------------------------------------------
|
|
CLOSINGAPPLICATION = False ' Set status to not closing
|
|
Call InitServerList(txtServer) ' Get Common Servers List
|
|
txtServer.Text = txtServer.List(0) ' Display First Name In The List
|
|
imgStatus = ImgIcons.ListImages(phoneHungUp).Picture ' Change Icon To Phone HungUp
|
|
|
|
Set wStream = CreateObject("WaveStreaming.WaveStream")
|
|
Call wStream.InitACMCodec(WAVE_FORMAT_GSM610, TIMESLICE)
|
|
' Call wStream.InitACMCodec(WAVE_FORMAT_ADPCM, TIMESLICE)
|
|
' Call wStream.InitACMCodec(WAVE_FORMAT_MSN_AUDIO, TIMESLICE)
|
|
' Call wStream.InitACMCodec(WAVE_FORMAT_PCM, TIMESLICE)
|
|
|
|
cmdTalk.Enabled = False ' Disable Until Connect
|
|
Tools.Buttons(tbHANGUP).Enabled = (ConnectionList.Text <> "")
|
|
inLight.Picture = ImgIcons.ListImages(speakNO).Picture
|
|
outLight.Picture = ImgIcons.ListImages(mikeNO).Picture
|
|
|
|
Call Listen(TCPSocket(0)) ' Listen For TCP Connection
|
|
'--------------------------------------------------------------
|
|
End Sub
|
|
'--------------------------------------------------------------
|
|
|
|
'--------------------------------------------------------------
|
|
Private Sub Form_Unload(Cancel As Integer)
|
|
'--------------------------------------------------------------
|
|
Dim Idx As Long ' TCP socket index
|
|
Dim Socket As Winsock ' TCP socket control
|
|
'--------------------------------------------------------------
|
|
CLOSINGAPPLICATION = True ' Set status flag to closing...
|
|
For Each Socket In TCPSocket ' For each socket instance
|
|
Call Disconnect(Socket) ' Close connection/listen
|
|
Next ' Next Cntl
|
|
Set wStream = Nothing
|
|
End ' End Program
|
|
'--------------------------------------------------------------
|
|
End Sub
|
|
'--------------------------------------------------------------
|
|
|
|
|
|
|
|
'--------------------------------------------------------------
|
|
Private Sub TCPSocket_Close(Index As Integer)
|
|
' Closing Current TCP Connection...
|
|
'--------------------------------------------------------------
|
|
Call RemoveConnectionFromList(TCPSocket(Index), ConnectionList) ' Remove Connection From List
|
|
Call Disconnect(TCPSocket(Index)) ' Close Port Connection...
|
|
|
|
cmdTalk.Enabled = (ConnectionList.ListCount > 0) ' Enable/Disable Talk Button...
|
|
If Not cmdTalk.Enabled Then
|
|
inLight.Picture = ImgIcons.ListImages(speakNO).Picture
|
|
outLight.Picture = ImgIcons.ListImages(mikeNO).Picture
|
|
End If
|
|
|
|
Tools.Buttons(tbHANGUP).Enabled = (ConnectionList.Text <> "")
|
|
If cmdTalk.Enabled Then
|
|
imgStatus = ImgIcons.ListImages(phoneHungUp).Picture ' Show Phone HungUp Icon...
|
|
End If
|
|
|
|
Unload TCPSocket(Index) ' Destroy socket instance
|
|
'--------------------------------------------------------------
|
|
End Sub
|
|
'--------------------------------------------------------------
|
|
|
|
'--------------------------------------------------------------
|
|
Private Sub TCPSocket_Connect(Index As Integer)
|
|
' TCP Connection Has Been Accepted And Is Open...
|
|
'--------------------------------------------------------------
|
|
Call AddConnectionToList(TCPSocket(Index), ConnectionList) ' Add New Connection To List
|
|
|
|
imgStatus = ImgIcons.ListImages(phoneRingIng).Picture ' Show Phone Ringing Icon
|
|
Call ResPlaySound(RingOutId)
|
|
imgStatus = ImgIcons.ListImages(phoneAnswered).Picture ' Show Phone Answered Icon
|
|
cmdTalk.Enabled = True ' Enabled For Connection...
|
|
Tools.Buttons(tbHANGUP).Enabled = (ConnectionList.Text <> "")
|
|
'--------------------------------------------------------------
|
|
End Sub
|
|
'--------------------------------------------------------------
|
|
|
|
'--------------------------------------------------------------
|
|
Private Sub TCPSocket_ConnectionRequest(Index As Integer, ByVal requestID As Long)
|
|
' Accepting Inbound TCP Connection Request...
|
|
'--------------------------------------------------------------
|
|
Dim rc As Long
|
|
Dim Idx As Long
|
|
Dim RemHost As String
|
|
'--------------------------------------------------------------
|
|
If (TCPSocket(Index).RemoteHost <> "") Then
|
|
RemHost = UCase(TCPSocket(Index).RemoteHost)
|
|
Else
|
|
RemHost = UCase(TCPSocket(Index).RemoteHostIP)
|
|
End If
|
|
|
|
If (Tools.Buttons(tbAUTOANSWER).Value = tbrUnpressed) Then
|
|
rc = MsgBox("Incomming call from [" & RemHost & "]..." & vbCrLf & _
|
|
"Do you wish to answer?", vbYesNo) ' Prompt user to answer...
|
|
Else
|
|
rc = vbYes
|
|
End If
|
|
|
|
If (rc = vbYes) Then
|
|
Idx = InstanceTCP(TCPSocket) ' Instance TCP Control...
|
|
If (Idx > 0) Then ' Validate that control instance was created...
|
|
TCPSocket(Idx).LocalPort = 0 ' Set local port to 0, in order to get next available port.
|
|
Call TCPSocket(Idx).Accept(requestID) ' Accept connection
|
|
Call AddConnectionToList(TCPSocket(Idx), ConnectionList) ' Add New Connection To List
|
|
|
|
imgStatus = ImgIcons.ListImages(phoneRingIng).Picture ' Show Phone Ringing Icon
|
|
Call ResPlaySound(RingInId)
|
|
imgStatus = ImgIcons.ListImages(phoneAnswered).Picture ' Show Phone Answered Icon
|
|
cmdTalk.Enabled = True ' Enabled For Connection...
|
|
Tools.Buttons(tbHANGUP).Enabled = (ConnectionList.Text <> "")
|
|
End If
|
|
End If
|
|
'--------------------------------------------------------------
|
|
End Sub
|
|
'--------------------------------------------------------------
|
|
|
|
'--------------------------------------------------------------
|
|
Private Sub TCPSocket_DataArrival(Index As Integer, ByVal BytesTotal As Long)
|
|
' Incomming Buffer On...
|
|
'--------------------------------------------------------------
|
|
Dim rc As Long ' Return Code Variable
|
|
Dim WaveData() As Byte ' Byte array of wave data
|
|
Static ExBytes(MAXTCP) As Long ' Extra bytes in frame buffer
|
|
Static ExData(MAXTCP) As Variant ' Extra bytes from frame buffer
|
|
'--------------------------------------------------------------
|
|
With wStream
|
|
If (TCPSocket(Index).BytesReceived > 0) Then ' Validate that bytes where actually received
|
|
Do While (TCPSocket(Index).BytesReceived > 0) ' While data available...
|
|
If (ExBytes(Index) = 0) Then ' Was there leftover data from last time
|
|
If (.waveChunkSize <= TCPSocket(Index).BytesReceived) Then ' Can we get and entire wave buffer of data
|
|
Call TCPSocket(Index).GetData(WaveData, vbByte + vbArray, .waveChunkSize) ' Get 1 wave buffer of data
|
|
Call .SaveStreamBuffer(Index, WaveData) ' Save wave data to buffer
|
|
Call .AddStreamToQueue(Index) ' Queue current stream for playback
|
|
Else
|
|
ExBytes(Index) = TCPSocket(Index).BytesReceived ' Save Extra bytes
|
|
Call TCPSocket(Index).GetData(ExData(Index), vbByte + vbArray, ExBytes(Index)) ' Get Extra data
|
|
End If
|
|
Else
|
|
Call TCPSocket(Index).GetData(WaveData, vbByte + vbArray, .waveChunkSize - ExBytes(Index)) ' Get leftover bits
|
|
ExData(Index) = MidB(ExData(Index), 1) & MidB(WaveData, 1) ' Sync wave bits...
|
|
Call .SaveStreamBuffer(Index, ExData(Index)) ' Save the current wave data to the wave buffer
|
|
Call .AddStreamToQueue(Index) ' Queue the current wave stream
|
|
ExBytes(Index) = 0 ' Clear Extra byte count
|
|
ExData(Index) = "" ' Clear Extra data buffer
|
|
End If
|
|
Loop ' Look for next Data Chunk
|
|
|
|
If (Not .Playing And .PlayDeviceFree And _
|
|
Not .Recording And .RecDeviceFree) Then ' Check Audio Device Status
|
|
Call cmdTalk_Click ' Start PlayBack...
|
|
End If
|
|
End If
|
|
End With
|
|
'--------------------------------------------------------------
|
|
End Sub
|
|
'--------------------------------------------------------------
|
|
|
|
Private Sub TCPSocket_Error(Index As Integer, ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
|
|
TCPSocket(Index).Close ' Close down socket
|
|
|
|
Debug.Print "TCPSocket_Error: Number:", Number
|
|
Debug.Print "TCPSocket_Error: Scode:", Hex(Scode)
|
|
Debug.Print "TCPSocket_Error: Source:", Source
|
|
Debug.Print "TCPSocket_Error: HelpFile:", HelpFile
|
|
Debug.Print "TCPSocket_Error: HelpContext:", HelpContext
|
|
Debug.Print "TCPSocket_Error: Description:", Description
|
|
Call DebugSocket(TCPSocket(Index))
|
|
End Sub
|
|
|
|
'--------------------------------------------------------------
|
|
Private Sub Tools_ButtonClick(ByVal Button As Button)
|
|
'--------------------------------------------------------------
|
|
Dim rc As Long ' Return Code Variable
|
|
Dim Idx As Long ' TCP Socket control index
|
|
Dim LocalPort As Long ' LocalPort Setting
|
|
Dim RemotePort As Long ' RemotePort Setting
|
|
'--------------------------------------------------------------
|
|
Select Case Button.Index
|
|
Case tbCALL
|
|
Idx = InstanceTCP(TCPSocket) ' Instance TCP Control...
|
|
|
|
If (Idx > 0) Then ' Did control instance get created???
|
|
Button.Enabled = False ' Disable Connect Button
|
|
ConnectionList.Enabled = False ' Disable connection list box
|
|
|
|
On Error Resume Next
|
|
If Not Connect(TCPSocket(Idx), txtServer.Text, VOICEPORT) Then ' Attempt to connect
|
|
Unload TCPSocket(Idx) ' Connect failed unload control instance
|
|
End If
|
|
|
|
ConnectionList.Enabled = True ' Renable connection list box
|
|
Button.Enabled = True ' Enable Connect Button
|
|
End If
|
|
Case tbHANGUP
|
|
ConnectionList_DblClick
|
|
Case tbAUTOANSWER
|
|
If (Button.Value = tbrPressed) Then
|
|
Button.Image = phoneHungUp
|
|
Else
|
|
Button.Image = phoneAnswered
|
|
End If
|
|
End Select
|
|
End Sub
|
|
|
|
'--------------------------------------------------------------
|
|
Private Sub txtServer_KeyPress(KeyAscii As Integer)
|
|
'--------------------------------------------------------------
|
|
Dim Conn As Long ' Index counter
|
|
'--------------------------------------------------------------
|
|
If (KeyAscii = vbKeyReturn) Then ' If Return Key Was Pressed...
|
|
For Conn = 0 To txtServer.ListCount ' Search Each Entry In ListBox
|
|
If (UCase(txtServer.Text) = UCase(txtServer.List(Conn))) Then Exit Sub
|
|
Next ' If Found Then Exit
|
|
txtServer.AddItem UCase(txtServer.Text) ' Add Server To List
|
|
End If
|
|
'--------------------------------------------------------------
|
|
End Sub
|
|
'--------------------------------------------------------------
|