Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   Проблема с использованием объектов в VB (http://forum.oszone.net/showthread.php?t=194439)

Medic84 19-12-2010 19:10 1569764

Проблема с использованием объектов в VB
 
Здравствуйте. Потихоньку пересаживаюсь на более нормальный ЯП, а именно на Visual Basic.
Установил Visual Studio 2010, начал осваивать с перевода программ с одного языка на другой (простеньких программ)
Встал в ступор с CreateObject
Код:

Public Class Form1

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        ZipCreate("C:\VB.zip")
        Zip_Add("C:\VB.zip", "C:\test.txt")
    End Sub

    Sub Zip_DllChk()
        If Not My.Computer.FileSystem.FileExists("C:\Windows\system32\zipfldr.dll") Then MsgBox("DLL не найден")
    End Sub
    Sub ZipCreate(ByVal sPath As String)
        If Len(Dir(sPath)) > 0 Then Kill(sPath)
        My.Computer.FileSystem.WriteAllText(sPath, Chr(80) & Chr(75) & Chr(5) & Chr(6) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0) & Chr(0), False)
    End Sub

    Sub Zip_Add(ByVal hZipFile As String, ByVal hFile2Add As String)
        Dim oZip As Object
        Zip_DllChk()
        oZip = CreateObject("Shell.Application")
        oZip.Namespace(hZipFile).CopyHere(hFile2Add)
        While 1
            If oZip.Namespace(hZipFile).Items.Count = 2 Then Exit While
        End While
    End Sub

    Sub Zip_AddFolder(ByVal hZipFile As String, ByVal hFolder As String)
        Dim oZip As Object
        Zip_DllChk()
        oZip = CreateObject("Shell.Application")
        oZip.Namespace(hZipFile).CopyHere(oZip.Namespace(hFolder))
    End Sub
End Class

Первая проблема заключается в создании архива. Архив создается, но видимо - не правильно ("Неожиданный конец архива")
Вторая же проблема заключается в строчке
Код:

oZip.Namespace(hZipFile).CopyHere(hFile2Add)
Компилятор пишет "Не задана переменная объекта или переменная блока With"
На другом ЯП подобный код отрабатывает идеально.
Помогите пожалуйста


Время: 17:25.

Время: 17:25.
© OSzone.net 2001-