I know diddly about RAS connections, but I offer a suggestion ....
Since your IsConnected() routine is defined as Boolean, why not just
evaluate the required result directly as a Boolean, foregoing the need for
an If.. Then.. Else statement?
IsConnected = Tstatus.RasConnState = &H2000
If Tstatus.RasConnState does equal &H2000, then IsConnected is True. If
not, it's false.
--
Randy Birch, MVP Visual Basic
Moderator, Fidonet Visual Basic Programmer's Conference
VBnet, The Visual Basic Developers Resource Centre
http://home.sprynet.com/sprynet/rasanen/
:
:
: I have found the solution.
: The function IsConnected return True if the connection to internet is
: successful.
: This works only in Win95, not in NT
:
:
: ------------------------------------------------------ BEGIN CODE
: --------------------------------------
: Attribute VB_Name = "Modem"
: Option Explicit
: '
: '
: '*** (c)1997 DELEAU Jean-Marie
: '
: Public Declare Function RasEnumConnections Lib "RasApi32.dll" Alias
: "RasEnumConnectionsA" (lpRasCon As Any, lpcb As Long, lpcConnections As
: Long) As Long
: Public Declare Function RasGetConnectStatus Lib "RasApi32.dll" Alias
: "RasGetConnectStatusA" (ByVal hRasCon As Long, lpStatus As Any) As Long
: '
: Public Const RAS95_MaxEntryName = 256
: Public Const RAS95_MaxDeviceType = 16
: Public Const RAS95_MaxDeviceName = 32
: '
: Public Type RASCONN95
: dwSize As Long
: hRasCon As Long
: szEntryName(RAS95_MaxEntryName) As Byte
: szDeviceType(RAS95_MaxDeviceType) As Byte
: szDeviceName(RAS95_MaxDeviceName) As Byte
: End Type
: '
: Public Type RASCONNSTATUS95
: dwSize As Long
: RasConnState As Long
: dwError As Long
: szDeviceType(RAS95_MaxDeviceType) As Byte
: szDeviceName(RAS95_MaxDeviceName) As Byte
: End Type
:
:
:
: Public Function IsConnected() As Boolean
: Dim TRasCon(255) As RASCONN95
: Dim lg As Long
: Dim lpcon As Long
: Dim RetVal As Long
: Dim Tstatus As RASCONNSTATUS95
: '
: TRasCon(0).dwSize = 412
: lg = 256 * TRasCon(0).dwSize
: '
: RetVal = RasEnumConnections(TRasCon(0), lg, lpcon)
: If RetVal <> 0 Then
: MsgBox "ERROR"
: Exit Function
: End If
: '*** if RetVal <> 0 then Error
: '*** if TRasCon(0).hRascon <>0 then the port is OPEN
: '
: Tstatus.dwSize = 160
: RetVal = RasGetConnectStatus(TRasCon(0).hRasCon, Tstatus)
: If Tstatus.RasConnState = &H2000 Then
: IsConnected = True
: Else
: IsConnected = False
: End If
:
: End Function
:
: