by Homura » 2006年5月27日(土) 16:33
コード: 全て選択
#console
Type WSAData
wVersion As Integer
wHighVersion As Integer
szDescription(256) As Byte
szSystemStatus(128) As Byte
iMaxSockets As Integer
iMaxUdpDg As Integer
lpVendorInfo As Long
End Type
Type HOSTENT
h_name As BytePtr
h_aliases As DWordPtr
h_addrtype As Integer
h_length As Integer
h_addr_list As DWordPtr
End Type
Declare Function WSAStartup Lib "ws2_32.dll" (ByVal wVersionRequested As Long,ByRef lpWSAData As WSAData) As Long
Declare Function WSACleanup Lib "ws2_32.dll" () As Long
Declare Function gethostbyname Lib "ws2_32.dll" (ByVal name As BytePtr) As *HOSTENT
DIM tWsadata As WSAData
DIM tHostent As *HOSTENT
DIM tText[16] As Byte
WSAStartup(2,tWsadata)
tHostent=gethostbyname("www.activebasic.com")
wsprintf(tText,"%d.%d.%d.%d"_
,GetByte(tHostent->h_addr_list[0]) _
,GetByte(tHostent->h_addr_list[0]+1) _
,GetByte(tHostent->h_addr_list[0]+2) _
,GetByte(tHostent->h_addr_list[0]+3) )
MessageBox(NULL,tText,"IPアドレス",0)
WSACleanup()
END
上記のようなコードのリリースコンパイルと実行には成功するのですが、
デバッグ実行ではgethostbynameの位置で「例外処理 code 6BA」のダイアログが出て止まってしまいます。
gethostbynameだけではなくてlisten等のAPIでも同じなんですが、どこを直せばうまくデバッグ実行できるのでしょうか?
[code]
#console
Type WSAData
wVersion As Integer
wHighVersion As Integer
szDescription(256) As Byte
szSystemStatus(128) As Byte
iMaxSockets As Integer
iMaxUdpDg As Integer
lpVendorInfo As Long
End Type
Type HOSTENT
h_name As BytePtr
h_aliases As DWordPtr
h_addrtype As Integer
h_length As Integer
h_addr_list As DWordPtr
End Type
Declare Function WSAStartup Lib "ws2_32.dll" (ByVal wVersionRequested As Long,ByRef lpWSAData As WSAData) As Long
Declare Function WSACleanup Lib "ws2_32.dll" () As Long
Declare Function gethostbyname Lib "ws2_32.dll" (ByVal name As BytePtr) As *HOSTENT
DIM tWsadata As WSAData
DIM tHostent As *HOSTENT
DIM tText[16] As Byte
WSAStartup(2,tWsadata)
tHostent=gethostbyname("www.activebasic.com")
wsprintf(tText,"%d.%d.%d.%d"_
,GetByte(tHostent->h_addr_list[0]) _
,GetByte(tHostent->h_addr_list[0]+1) _
,GetByte(tHostent->h_addr_list[0]+2) _
,GetByte(tHostent->h_addr_list[0]+3) )
MessageBox(NULL,tText,"IPアドレス",0)
WSACleanup()
END
[/code]
上記のようなコードのリリースコンパイルと実行には成功するのですが、
デバッグ実行ではgethostbynameの位置で「例外処理 code 6BA」のダイアログが出て止まってしまいます。
gethostbynameだけではなくてlisten等のAPIでも同じなんですが、どこを直せばうまくデバッグ実行できるのでしょうか?