На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела Visual Basic: Общие вопросы
Здесь обсуждаются вопросы по языку Visual Basic 1-6 (а так же по схожим языкам, как, например, PowerBASIC).
Вопросы по Visual Basic .NET (это который входит в состав Visual Studio 2002/2003/2005/2008+, для тех, кто не в курсе) обсуждаются в разделе .NET.

Обратите внимание:
1. Прежде чем начать новую тему или отправить сообщение, убедитесь, что Вы не нарушаете правил форума!
2. Обязательно воспользуйтесь поиском. Возможно, Ваш вопрос уже обсуждали. Полезные ссылки приведены ниже.
3. Темы с просьбой выполнить какую-либо работу за автора в этом разделе не обсуждаются. Студенты, вам сюда: ПОМОЩЬ СТУДЕНТАМ!
4. Используйте теги [ code=vba ] ...текст программы... [ /code ] для выделения текста программы подсветкой.
5. Помните, здесь телепатов нет. Формулируйте свой вопрос максимально грамотно и чётко: Как правильно задавать вопросы
6. Запрещено отвечать в темы месячной (и более) давности, без веских на то причин.

Полезные ссылки:
user posted image FAQ Сайта user posted image FAQ Раздела user posted image Кладовка user posted image Наши Исходники user posted image API-Guide user posted image Поиск по Разделу user posted image MSDN Library Online user posted image Google

Ваше мнение о модераторах: user posted image SCINER, user posted image B.V.
Модераторы: SCINER, B.V.
  
> Сохранить значение объекта err
    Перед вызовом процедуры Public Proc1 объект err заполнен некими значениями. В самой Proc1 стоит On Error Resume Next, после выхода из Proc1 имеем чистый err или с данными ошибки от Proc1. Как сохранить данные err, которые было до вызова Proc1?
      Нафига?
        Чтобы в конце основной процы Proc0 обработать ошибку! Просто интересно, как сохранить объект целиком, а не 2 свойства.
          Сохрани все свойства - чего там их у Err-то... ну или попробуй выпендриться типа
          ExpandedWrap disabled
            Dim arrerr() As Err
          вдруг да проскочит...
            Цитата BlackSun @
            Как сохранить данные err, которые было до вызова Proc1?
            ...
            Чтобы в конце основной процы Proc0 обработать ошибку!

            Какой-то странный подход. Ошибку нужно обрабатывать сразу при ее возникновении, а не откладывать на потом. А если в рез-те этой ошибки и Proc1 отработает неправильно?!
              BlackSun
              На, развлекайся...
              ExpandedWrap disabled
                Type ErrorObject
                    Description As String
                    HelpContext As Long
                    HelpFile As String
                    LastDllError As Long
                    Number As Long
                    Source As String
                End Type
                 
                Sub testErrorObject()
                Dim store(1 To 2) As ErrorObject
                Dim i As Integer
                 
                On Error GoTo ErrorHandler
                 
                Debug.Print 1 / 0
                Debug.Print 1024 * 1024
                Stop
                Exit Sub
                 
                ErrorHandler:
                i = i + 1
                store(i).Description = Err.Description
                store(i).HelpContext = Err.HelpContext
                store(i).HelpFile = Err.HelpFile
                store(i).LastDllError = Err.LastDllError
                store(i).Number = Err.Number
                store(i).Source = Err.Source
                Resume Next
                 
                End Sub
                Akina,ты в блокноте код писал?
                  MIF
                  Не, в чём-то... кажется, в экселе, но уже не помню... и даже запустил и по Stop посмотрел Locals.
                  Сообщение отредактировано: Akina -
                    т.е. сохранить сам объект никак? а то я пробовал сделать:
                    ExpandedWrap disabled
                      Dim tmpErr As ErrObject
                           Set tmpErr = err
                    но получил далее просто дубликат err, а не самостоятельный объект.
                    Сообщение отредактировано: BlackSun -
                      Сохранить - никак. Ибо похоже, что Err - не объект, а интерфейс некоего объекта...
                        Цитата Akina @
                        Ибо похоже, что Err - не объект, а интерфейс некоего объекта...

                        Интересно, а при передаче по ByVal, как оно себя должно в VB повести?
                          VisualProg
                          Так попробуй, зачем спрашивать-то? Хотя вполне можно предсказать, что получится - то же, что и в сообщении #9. Да и в случае ByRef получится то же самое...
                            Цитата Akina @
                            Так попробуй, зачем спрашивать-то?

                            Кончился у меня басик, дома поднимать времени нету, а на работе только VBA в каком нибудь офисе остался. Так что я с VB совсем завязал, только относительно недавно начал понимать - что же на самом деле у меня было, и какой же я дурак, раз это всё не использовал и не знал :(
                            0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                            0 пользователей:


                            Рейтинг@Mail.ru
                            [ Script execution time: 0,0326 ]   [ 17 queries used ]   [ Generated: 28.03.24, 13:00 GMT ]