Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 |

 

  Вопрос: Вылетаем!!! Добавлено: 19.10.09 21:58  

Автор вопроса:  VβÐUηìt | Web-сайт: смекаешь.рф
Суть такая (пока касается только Windows XP). Когда программа N вылетает, то появляется сообщение "бла-бла-бла отправить отчет об ошибках/не отправлять". Вот нужно как-то модифицировать этот дилог, чтобы при нажатии кнопки "Отправить" отчет шел не мелкомягким, а на мой сервак.
PS: Желательно на C++.


Заранее благодарен.

Ответить

  Ответы Всего ответов: 27  

Номер ответа: 1
Автор ответа:
 Smith



ICQ: adamis@list.ru 

Вопросов: 153
Ответов: 3632
 Профиль | | #1 Добавлено: 19.10.09 22:02
Неслабо замахнулся :)

Ответить

Номер ответа: 2
Автор ответа:
 Winand



Вопросов: 87
Ответов: 2795
 Web-сайт: winandfx.narod.ru
 Профиль | | #2
Добавлено: 19.10.09 22:21
что ж ты с этими отчетами делать-то будешь?

Ответить

Номер ответа: 3
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #3
Добавлено: 19.10.09 23:35
Программа N - твоя?

Ответить

Номер ответа: 4
Автор ответа:
 UnDeAdZak



Вопросов: 80
Ответов: 476
 Профиль | | #4 Добавлено: 20.10.09 07:38
Если прога N твоя то пишеш в начале процедуры с ошибкой
  1.  
  2. Form_load()
  3. On error goto Metka
  4. -----------------------
  5. -----------------------
  6. Dim blabla as byte = 0 ' создаёш переменную и к чему-нибудь приравниваеш
  7.  if blabla = 1 then ' задаёш условие которое не выполнится
  8.  Metka 'Задаёш переход сюда в обход условия
  9.  MsgBox.show("бла-бла-бла отправить отчет об ошибках/не отправлять")
  10.  end if

Ответить

Номер ответа: 5
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #5
Добавлено: 20.10.09 09:58
))) Ога, почти почти)

Ответить

Номер ответа: 6
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #6
Добавлено: 20.10.09 10:05
Декомпилируй корневой обработчик SEH и либо замени его, либо модифицируй.

Ответить

Номер ответа: 7
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #7
Добавлено: 20.10.09 14:54
UnDeAdZak пишет:
Если прога N твоя то пишеш в начале процедуры с ошибкой
 
Form_load()
On error goto Metka
-----------------------
-----------------------
Dim blabla as byte = 0 ' создаёш переменную и к чему-нибудь приравниваеш
 if blabla = 1 then ' задаёш условие которое не выполнится
 Metka 'Задаёш переход сюда в обход условия
 MsgBox.show("бла-бла-бла отправить отчет об ошибках/не отправлять";)
 end if

Мило.
1. Программа очень большая (более 200 килострок)
2. Программа на C++
3. Программа сложная

Так что такой холявы не будет.

Декомпилируй корневой обработчик SEH и либо замени его, либо модифицируй.

Варианты 1 и 3 думаю убийственны для самого себя. Я думаю, заменить его. Но для этого нужно знать, как он общается с виндой. Такую инфу можно раздобыть где-нть?

Ответить

Номер ответа: 8
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #8
Добавлено: 20.10.09 14:58
http://msdn.microsoft.com/en-us/library/ms680634(VS.85).aspx

На, вопросы будут пиши

Ответить

Номер ответа: 9
Автор ответа:
 AndreyMp



ICQ: 237822510 

Вопросов: 28
Ответов: 1182
 Профиль | | #9 Добавлено: 20.10.09 15:06
Такую инфу можно раздобыть где-нть?

Гугл что то знает по запросу
корневой обработчик SEH
:) Первая ссылка на неплохую статью.

Ответить

Номер ответа: 10
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #10
Добавлено: 20.10.09 15:17
Сенкс

Ответить

Номер ответа: 11
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #11
Добавлено: 20.10.09 15:18
  1. Dim blabla as byte = 0 ' создаёш переменную и к чему-нибудь приравниваеш
  2.  if blabla = 1 then


А нельзя
  1.  
  2. If False Then
  3. Metka:
  4. ...
  5. End If

Ответить

Номер ответа: 12
Автор ответа:
 Arvitaly



ICQ: 301746136 

Вопросов: 28
Ответов: 549
 Web-сайт: okazani.ru
 Профиль | | #12
Добавлено: 20.10.09 16:31
всю жизнь вроде exit sub (exit function) решалось

Ответить

Номер ответа: 13
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #13
Добавлено: 20.10.09 18:15
Бывают случаи, когда такой васи не хватает.

Ответить

Номер ответа: 14
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #14 Добавлено: 22.10.09 10:42
например?

Ответить

Номер ответа: 15
Автор ответа:
 VβÐUηìt



Вопросов: 246
Ответов: 3333
 Web-сайт: смекаешь.рф
 Профиль | | #15
Добавлено: 22.10.09 11:07
Когда я пишу прогу (не знаю как там дотнетчики), у меня бывают случаи возникновения потребности создания процедуры в процедуре. Делается просто: пишем
  1. If False Then
  2. boba:
  3. End if

А дальше, где нужно, делаю GoTo boba. И таких вась может быть несколько. Очень удобно. Вместо того, чтобы выносить в отдельную процедуру и пихать ей все данные (ну или указатель на них), так как в этом случае их нужно группировать (лень).

Ну или выход из двух вложенных циклов:

  1.  
  2. For i = 1 to XQR.Alarms.Count
  3.     For j = 1 to 7
  4.       if XQR.Alarms.Item(i).Days(j) = False Then GoTo Pik:
  5.     next j
  6. Next i
  7. Msgbox i & " " & j
  8.  

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам