Strona: [  << <   1   > >>  ]  z  1     
Autor Temat: Wysyłanie informacji o błędzie na Maila
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004
Wysyłanie informacji o błędzie na Maila

Witam

Czy da się zrobić coś takiego, że gdy pijawi się jakiś błąd w programie to np. wyskoczy okno "Poinformuj o błędzie" czy jakoś tak

Jak wiadomo byłoby bez sensu wstawianie czegoś takiego do każdej funkcji czy procedury dlatego chciałbym to zrobić dla jakiegokolwiek błędu jaki może pojawić się programie.

W XP jest coś takiego, ze gdy z programem jest coś nie tak pojawia się odpowiednie okno

P.S. Okno to ma być oknem zawartym w programie nie systemowym

[Post edytowany dnia 26-11-2004 22:45 przez DJK]


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

26-11-2004 22:42
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Szczerze mówiąc - albo nie zrozumiałem pytania, albo nie rozumiem co w tym niejasnego. Przecież sam udzieliłeś sobie odpowiedzi:
Jeśli pojawi się błąd, to otwórz okienko... tutaj chyba wszystko jasne.
A jeśli użytkownik kliknie w tym okienku np. przycisk "poinformuj o błędzie", to zostanie wysłana informacja - np. na maila. Oczywiście z wysłaniem maila jest troszkę roboty, ale na to się nic nie poradzi.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

27-11-2004 11:41
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Dobra wszystko ładnie pięknie ale mi chodzi o to żeby okno wyskakiwało przy każdym błędzie jaki może pojawić się w programie. przecież nie właduję do każdej funkcji:

OnError Goto SendMail bo to by było bez sensu
....
SendMail:
ShellExecute .... itd


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

27-11-2004 13:11
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

No, a jak to sobie wyobrażasz inaczej?


Sub JakisSub()
On Error GoTo Err_JakisSub

Exit_JakisSub:
  Exit Sub
Err_JakisSub:
    SendMail Err
    Err.Clear
End Sub

Sub SendMail(errorek As ErrObject)
  Form1.Load
  Form1.Label1.Caption = "Wystapił błąd nr: " & errorek.Number
  Form1.Label2.Caption = "Opis błędu: " & errorek.Description
  Form1.Label3.Caption = "Czy chcesz wysłać informacje o błędzie dla autora?"
  Form1.Show
End Sub



_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

27-11-2004 13:21
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
Knight Lore''FC




Typ: neutral
Postów: 240
Zarejestrowany: Jan 2003

Dodatkowo zmodyfikowal bym to troszke o onformacje w jakiej procedorze :

Sub JakisSub()
On Error GoTo Err_JakisSub

Exit_JakisSub:
  Exit Sub
Err_JakisSub:
    SendMail Err , "JakisSub"
    Err.Clear
End Sub

Sub SendMail(errorek As ErrObject, Blad_w as String)
  Form1.Load
  Form1.Label1.Caption = "W procedurze : " & Blad_w
  Form1.Label2.Caption = "Wystapił błąd nr: " & errorek.Number
  Form1.Label3.Caption = "Opis błędu: " & errorek.Description
  Form1.Label4.Caption = "Czy chcesz wysłać informacje o błędzie dla autora?"
  Form1.Show
End Sub

27-11-2004 14:12
Pokaż profil Knight Lore  Wyślij email do Knight Lore        1065423
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004


No, a jak to sobie wyobrażasz inaczej?


Dlatego też pytam

Myślałem, ze może istnieje jakieś API, które informuje, że program wykonał coś nie tak

Twórcy mogliby wymyśleć coś takiego jak zdarzenie Error dla formy

[Post edytowany dnia 27-11-2004 16:45 przez DJK]


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

27-11-2004 16:41
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
losmac
"profesorek"




Typ: neutral
Postów: 758
Zarejestrowany: May 2003

hhmmmm......

Twórcy mogliby wymyśleć coś takiego jak zdarzenie Error dla formy

Mogliby...

Oni wymyślili!

Nie mam zainstalowanego VB, więc nie wiem, czy jest takie zdarzenie OnError dla formularza w VB. Ale w VBA jest zdarzenie OnError dla raportu Access'a.
Jeśli się nie mylę, w Delphi też jest zdarzenie OnError dla formularza...


_____________________________________________
POSTULATY STARUSZKA:
1) Ludzie, dbajcie o polszczyznę!!!
2) Ludzie, zadawajcie kompletne pytania, a nie rzucacie ochłapy i trzeba się domyślać o co chodzi!!!

Powodzenia
Maciej Łoś

27-11-2004 20:39
Pokaż profil losmac  Wyślij email do losmac   Odwiedź stronę losmac  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

1) Błędy nie występują tylko w formach, a zdarzenie informujące o błędzie informowałoby tylko o błedach samej formy (czyli nieiwelkiej części tych, które mogą wystąpić w kodzie umieszczonym w module formy).
2) API do wykrycia błędów w VB raczej nie istnieje, bo sa to własnie błędy w VB, a nie ogólnosystemowe. Skąd biblioteka miałaby wiedziec, że to i to jest błędem?
3) Sposób na wykrywanie błędów w całym programie:
Sprawdzenie, czy Err.Number <> 0 w pętli.


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

28-11-2004 09:40
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
DJK



Typ: neutral
Postów: 871
Zarejestrowany: Feb 2004

Być może funkcja nie istnieje ale o ile mi wiadomo API to nie tylko system.


_____________________________________________
Jeśli można coś zrobić w sposób optymalny to czemu nie

28-11-2004 18:32
Pokaż profil DJK  Wyślij email do DJK   Odwiedź stronę DJK  
marcin_an
Forumowicz




Typ: neutral
Postów: 1265
Zarejestrowany: Mar 2004

Nie, ale programy w Windowsie mają to do siebie, że zwykle mogą wykryć tylko błędy ogólne (i to też nie wszystkie) i swoje własne - nic poza tym. Wyjątkiem mogą być tutaj aplikacje debugujące - ale one też tylko w ograniczonym zakresie są w stanie tutaj coś zdziałać. Ponieważ API to także program (a raczej ich zestaw) - jasne jest chyba dlaczego tak napisałem .


_____________________________________________
Jedzonko dla Google'a:
Forum na temat Visual Basic, C, C++, Pascal, Programowanie, API, PHP, VBA, VB.NET, QBasic, VBScript, Komputery
Moja strona o wszystkim

28-11-2004 19:26
Pokaż profil marcin_an  Wyślij email do marcin_an   Odwiedź stronę marcin_an  
Wszystkich odpowiedzi: 9 :: Maxymalnie na stronę: 20
Strona: [  << <   1   > >>  ]  z  1