Вызов функции PInvoke разбалансировал стек - Visual Basic .NET
Формулировка задачи:
Пишу FTP клиент для своих нужд. И столкнулся с проблемой, что когда я пытаюсь делать так, как написано в этой статье (http://www.codenet.ru/progr/vbasic/FTP.php), у меня появляется ошибка. Вот весь код, что я делаю не так, как использовать то, что описано в статье?
Листинг программы
- Imports System.IO
- Imports System.Net
- Imports System.ComponentModel
- Public Class Form1
- Dim INetSession
- Dim login As String
- Dim Int As Boolean
- Private Declare Function FtpGetFile _
- Lib "wininet.dll" Alias "FtpGetFileA" (
- ByVal hFtpSession As Long,
- ByVal lpszRemoteFile As String,
- ByVal lpszNewFile As String,
- ByVal fFailIfExists As Boolean,
- ByVal dwFlagsAndAttributes As Long,
- ByVal dwFlags As Long,
- ByVal dwContext As Long) As Boolean
- Private Declare Function InternetOpen _
- Lib "wininet.dll" Alias "InternetOpenA" (
- ByVal sAgent As String,
- ByVal nAccessType As Long,
- ByVal sProxyName As String,
- ByVal sProxyBypass As String,
- ByVal nFlags As Long) As Long
- Private Declare Function InternetConnect _
- Lib "wininet.dll" Alias "InternetConnectA" (
- ByVal hInternetSession As Long,
- ByVal sServerName As String,
- ByVal nServerPort As Integer,
- ByVal sUserName As String,
- ByVal sPassword As String,
- ByVal nService As Long,
- ByVal dwFlags As Long,
- ByVal dwContext As Long) As Long
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- INetSession = InternetOpen("MyFTPClient", 0, vbNullString, vbNullString, 1)
- 'Проверяем, авторизован ли человек или нет
- Dim log As String = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\Software\FTPclientBYnova", "Login", "")
- If log = "" Then Form2.Show()
- End Sub
- 'Проверяем наличие интернета, пингуя yandex.ru
- Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Internet.Tick
- If My.Computer.Network.Ping("www.yandex.ru", 1000) = True Then
- Label2.ForeColor = Color.LimeGreen
- Label2.Text = "OK"
- Int = True
- Else
- Label2.ForeColor = Color.Red
- End If
- End Sub
- End Class
Решение задачи: «Вызов функции PInvoke разбалансировал стек»
textual
Листинг программы
- Private Declare Function InternetOpen _
- Lib "wininet.dll" Alias "InternetOpenA" (
- ByVal sAgent As String,
- ByVal nAccessType As Integer,
- ByVal sProxyName As String,
- ByVal sProxyBypass As String,
- ByVal nFlags As Integer) As Integer
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д