Вызов функции PInvoke разбалансировал стек - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

Пишу FTP клиент для своих нужд. И столкнулся с проблемой, что когда я пытаюсь делать так, как написано в этой статье (http://www.codenet.ru/progr/vbasic/FTP.php), у меня появляется ошибка. Вот весь код, что я делаю не так, как использовать то, что описано в статье?
Листинг программы
  1. Imports System.IO
  2. Imports System.Net
  3. Imports System.ComponentModel
  4. Public Class Form1
  5. Dim INetSession
  6. Dim login As String
  7. Dim Int As Boolean
  8. Private Declare Function FtpGetFile _
  9. Lib "wininet.dll" Alias "FtpGetFileA" (
  10. ByVal hFtpSession As Long,
  11. ByVal lpszRemoteFile As String,
  12. ByVal lpszNewFile As String,
  13. ByVal fFailIfExists As Boolean,
  14. ByVal dwFlagsAndAttributes As Long,
  15. ByVal dwFlags As Long,
  16. ByVal dwContext As Long) As Boolean
  17. Private Declare Function InternetOpen _
  18. Lib "wininet.dll" Alias "InternetOpenA" (
  19. ByVal sAgent As String,
  20. ByVal nAccessType As Long,
  21. ByVal sProxyName As String,
  22. ByVal sProxyBypass As String,
  23. ByVal nFlags As Long) As Long
  24. Private Declare Function InternetConnect _
  25. Lib "wininet.dll" Alias "InternetConnectA" (
  26. ByVal hInternetSession As Long,
  27. ByVal sServerName As String,
  28. ByVal nServerPort As Integer,
  29. ByVal sUserName As String,
  30. ByVal sPassword As String,
  31. ByVal nService As Long,
  32. ByVal dwFlags As Long,
  33. ByVal dwContext As Long) As Long
  34.  
  35. Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
  36. INetSession = InternetOpen("MyFTPClient", 0, vbNullString, vbNullString, 1)
  37. 'Проверяем, авторизован ли человек или нет
  38. Dim log As String = My.Computer.Registry.GetValue("HKEY_LOCAL_MACHINE\Software\FTPclientBYnova", "Login", "")
  39. If log = "" Then Form2.Show()
  40. End Sub
  41. 'Проверяем наличие интернета, пингуя yandex.ru
  42. Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Internet.Tick
  43. If My.Computer.Network.Ping("www.yandex.ru", 1000) = True Then
  44. Label2.ForeColor = Color.LimeGreen
  45. Label2.Text = "OK"
  46. Int = True
  47. Else
  48. Label2.ForeColor = Color.Red
  49. End If
  50. End Sub
  51. End Class

Решение задачи: «Вызов функции PInvoke разбалансировал стек»

textual
Листинг программы
  1.   Private Declare Function InternetOpen _
  2.    Lib "wininet.dll" Alias "InternetOpenA" (
  3.    ByVal sAgent As String,
  4.    ByVal nAccessType As Integer,
  5.    ByVal sProxyName As String,
  6.    ByVal sProxyBypass As String,
  7.    ByVal nFlags As Integer) As Integer

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.111 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы