Исключение при отсутствие Dll

Язык Visual Basic на платформе .NET.

Модераторы: Ramzes, Sebas

edyapd
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 03.10.2011 (Пн) 19:54

Исключение при отсутствие Dll

Сообщение edyapd » 08.06.2012 (Пт) 13:49

Подскажите, что делаю не так:
Код: Выделить всё
Imports My_Dll
Imports System
Public Class Form1
      Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim myDll As New Class1
        Try
              ' Здесь обращение к Dll
        Catch ex As Exception
            MsgBox("Отсутствует Dll")
        End Try
    End Sub
End Class

Когда Dll на месте, всё нормально. Стоит её удалить программа вываливается при обращение к Dll, вместо того чтобы перейти в обработчик.

Admiralisimys
Постоялец
Постоялец
 
Сообщения: 318
Зарегистрирован: 01.06.2009 (Пн) 10:26

Re: Исключение при отсутствие Dll

Сообщение Admiralisimys » 08.06.2012 (Пт) 13:57

edyapd не так часто использую исключения, может добавить FileSystem.FileExists оставив Try(будет, по идеи, проверять исправность dll)?

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 08.06.2012 (Пт) 20:27

Потому что отсутствие dll определяется в момент запуска, а не в момент обращения, скорее всего.
Если такая конструкция действительно нужна, попробуй использовать другие варианты, без внесения dll в зависимости. Например, объявление её функций или рефлексию.

Кстати, As New - это уже обращение. А может, и просто As - тоже.

edyapd
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 03.10.2011 (Пн) 19:54

Re: Исключение при отсутствие Dll

Сообщение edyapd » 09.06.2012 (Сб) 13:16

Qwertiy писал(а):Потому что отсутствие dll определяется в момент запуска, а не в момент обращения, скорее всего.
Кстати, As New - это уже обращение. А может, и просто As - тоже.

Программа вылетает имено при нажатии на Button1.
Тогда получается, что я не туда Try воткнул. Сейчас попробую перед Dim

edyapd
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 03.10.2011 (Пн) 19:54

Re: Исключение при отсутствие Dll

Сообщение edyapd » 09.06.2012 (Сб) 16:36

Заработала такая конструкция:
Код: Выделить всё
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Try
            call_Dll()
        Catch ex As Exception
            MsgBox("Отсутствует Dll")
        End Try
    End Sub

    Sub call_Dll()
        Dim myDll As New Class1
        ' Здесь обращение к Dll
    End Sub

Всем спасибо

Qwertiy
Доктор VB наук
Доктор VB наук
 
Сообщения: 2753
Зарегистрирован: 26.06.2011 (Вс) 21:26

Сообщение Qwertiy » 09.06.2012 (Сб) 20:07

Не за что.

А зачем вообще нужна такая штука с dll?

edyapd
Обычный пользователь
Обычный пользователь
 
Сообщения: 56
Зарегистрирован: 03.10.2011 (Пн) 19:54

Re: Исключение при отсутствие Dll

Сообщение edyapd » 10.06.2012 (Вс) 8:59

Qwertiy писал(а):А зачем вообще нужна такая штука с dll?

Хочу попробовать написать программку, чтобы без dll работала в Демо режиме.
А в dll засунуть подпрограммы, до полного функционала.


Вернуться в Visual Basic .NET

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex-бот и гости: 17

    TopList