Programmabbruch, ohne Fehlermeldung
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Programmabbruch, ohne Fehlermeldung
Hi,
gerade habe ich mir die Haare gerauft. Es kam immer wieder vor, dass ein Programm sich mittendrin verabschiedete. Und das sang- und klanglos. Im Debugger habe ich festgestellt, dass ich versucht habe eine Variable mit dem Wert NIL über += an einen Text anzuhängen. Also cText += NIL.
Da hätte das Programm doch eine Fehlermeldung ausspucken müssen und nicht einfach nur den Dienst quittieren dürfen, oder?
Es gab nichts, keinen Hinweis, wenn es auf Konsolenebene betrieben wurde und auch keine xppFatal.log. Nichts.
gerade habe ich mir die Haare gerauft. Es kam immer wieder vor, dass ein Programm sich mittendrin verabschiedete. Und das sang- und klanglos. Im Debugger habe ich festgestellt, dass ich versucht habe eine Variable mit dem Wert NIL über += an einen Text anzuhängen. Also cText += NIL.
Da hätte das Programm doch eine Fehlermeldung ausspucken müssen und nicht einfach nur den Dienst quittieren dürfen, oder?
Es gab nichts, keinen Hinweis, wenn es auf Konsolenebene betrieben wurde und auch keine xppFatal.log. Nichts.
Zuletzt geändert von Manfred am Fr, 06. Mär 2009 10:40, insgesamt 2-mal geändert.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15710
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 73 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Porgrammabbruch, ohne Fehlermeldung
Code: Alles auswählen
proc main
local cTxt := "xyz"
cTxt += NIL
? "Test",cTxt
return
Code: Alles auswählen
------------------------------------------------------------------------------
FEHLERPROTOKOLL von "D:\TEST\Test\test.exe" Datum: 06.03.2009 01:44:15
Xbase++ Version : Xbase++ (R) Version 1.90.331
Betriebssystem : Windows 2000 05.00 Build 02195 Service Pack 4
------------------------------------------------------------------------------
oError:args :
-> VALTYPE: U VALUE: NIL
oError:canDefault : N
oError:canRetry : N
oError:canSubstitute: J
oError:cargo : NIL
oError:description : Parameter hat falschen Typ
oError:filename :
oError:genCode : 2
oError:operation : <xyz>+=<NIL>
oError:osCode : 0
oError:severity : 2
oError:subCode : 3
oError:subSystem : BASE
oError:thread : 1
oError:tries : 0
------------------------------------------------------------------------------
CALLSTACK:
------------------------------------------------------------------------------
Aufgerufen von MAIN(3)
ErrorSys() (ERRORSYS.PRG) selbst definiert ?
Normal ist das nicht ... außer die Platte ist so voll, dass einfach GAR NIX mehr drauf passt
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Porgrammabbruch, ohne Fehlermeldung
Hi Hubert,
damit habe ich gerechnet, dass es nicht normal ist. Die Platte hat noch verdammt viel Platz. Ja, die Errorsys ist eine eigene, aber im Debugger konnte ich nicht den kleinsten versuch erkennen, das die überhaupt aufgerufen wurde.
Wenn ich heute Zeit habe, dann werde ich das nochmal umbauen. Den Fehler rein und die eigene Errorsys raus. mal schauen, was dann passiert.
damit habe ich gerechnet, dass es nicht normal ist. Die Platte hat noch verdammt viel Platz. Ja, die Errorsys ist eine eigene, aber im Debugger konnte ich nicht den kleinsten versuch erkennen, das die überhaupt aufgerufen wurde.
Wenn ich heute Zeit habe, dann werde ich das nochmal umbauen. Den Fehler rein und die eigene Errorsys raus. mal schauen, was dann passiert.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Porgrammabbruch, ohne Fehlermeldung
Hi Hubert,
jetzt habe ich die eigene Errorsys entfernt. Das Programm beendet trotzdem ohne Fehlermeldung. Sowas liebe ich. Wie soll man sowas nachvollziehen können?
jetzt habe ich die eigene Errorsys entfernt. Das Programm beendet trotzdem ohne Fehlermeldung. Sowas liebe ich. Wie soll man sowas nachvollziehen können?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Programmabbruch, ohne Fehlermeldung
Hi Rolf,
nichts, gar nichts. Einfach nur Ende. Schluß aus.
nichts, gar nichts. Einfach nur Ende. Schluß aus.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Programmabbruch, ohne Fehlermeldung
Hi Manfred,
bist du sicher, das das Programm nicht zu Ende gelaufen ist ?? Wenn du es noch nicht hast, setze doch vor den Return (Nil) eine msgbox("Programm beendet")
bist du sicher, das das Programm nicht zu Ende gelaufen ist ?? Wenn du es noch nicht hast, setze doch vor den Return (Nil) eine msgbox("Programm beendet")
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Programmabbruch, ohne Fehlermeldung
Ey Rolf,
willst Du mich ärgern? Oben steht doch, dass ich im Debugger die Stelle untersucht habe. Und außerdem warum sollte ein Programm so gebaut sein, dass es mittendrin aufhört, egal ob mit oder ohne Fehler?
willst Du mich ärgern? Oben steht doch, dass ich im Debugger die Stelle untersucht habe. Und außerdem warum sollte ein Programm so gebaut sein, dass es mittendrin aufhört, egal ob mit oder ohne Fehler?
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Programmabbruch, ohne Fehlermeldung
@Manfred: Was Dir Rolf durch die Blume zu sagen versuchte, war, dass es auch die Möglichkeit gibt, dass das Programmende via Code ausgelöst wird, also durch ein QUIT oder AppExit() oder vergleichbares irgendwo. In der Alaska-Knowledgebase sind einige Fälle von "spurlosen Programmterminierungen" dokumentiert, aber wenn all das nicht zutrifft und keine XPPFATAL erzeugt wird, sollte man diese Möglichkeit wenigstens erwägen. Umso mehr, da es nachvollziehbar zu sein scheint, also wiederholbar. Spontane, spurlose Programmbeendigungen meldet mein Support auch zuweilen, aber sie sind so gut wie nie nachstellbar.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Programmabbruch, ohne Fehlermeldung
Tom,
dieser Fehler ist so wie er bei mir auftritt nachbaubar, bzw. er taucht regelmäßig auf, wenn die Var NIL ist. Aber Hubert bekommt bei einem gebauten Beispiel eine Fehlermeldung, wie es sich gehört.
Ich habe das mal zur Vorsicht an Alaska geschrieben, mal sehen, was denen dazu einfällt. Der Witz ist und das fällt mir jetzt gerade ein:
wenn ich es so mache:
gibt es eine ordentliche Fehlermeldung
so aber nicht
Das ist doch mal eine Frage wert, oder?
dieser Fehler ist so wie er bei mir auftritt nachbaubar, bzw. er taucht regelmäßig auf, wenn die Var NIL ist. Aber Hubert bekommt bei einem gebauten Beispiel eine Fehlermeldung, wie es sich gehört.
Ich habe das mal zur Vorsicht an Alaska geschrieben, mal sehen, was denen dazu einfällt. Der Witz ist und das fällt mir jetzt gerade ein:
wenn ich es so mache:
Code: Alles auswählen
cText_Preisaenderung += oEan13:ean + " " +;
Substr(oVostamm:v_titel,1,30) + " " +;
SubStr(oVostamm:v_darstell,1,30) + " " +;
Transform(oVostamm:vkinet,"9999.99") + " " +;
Transform(oAmazonCatalog:price,"999.99") + " " +;
oGenre:bez + CRLF
so aber nicht
Code: Alles auswählen
cText_Preisaenderung += oEan13:ean + " " <-- hier springt das Programm raus (NIL in :ean)
cText_Preisaenderung += Substr(oVostamm:v_titel,1,30) + " "
cText_Preisaenderung += SubStr(oVostamm:v_darstell,1,30) + " "
cText_Preisaenderung += Transform(oVostamm:vkinet,"9999.99") + " "
cText_Preisaenderung += Transform(oAmazonCatalog:price,"999.99") + " "
cText_Preisaenderung += oGenre:bez + CRLF
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- Rolf Ramacher
- Der Entwickler von "Deep Thought"
- Beiträge: 1931
- Registriert: Do, 09. Nov 2006 10:33
- Wohnort: Bergheim
- Danksagung erhalten: 3 Mal
- Kontaktdaten:
Re: Programmabbruch, ohne Fehlermeldung
Hi Manfred,
ich wollte dich keinegswegs ärgern, aber es hätte ja sein können das auf einem anderen Wege in einer Function das Programm beendet werden sollte.
Kannst du den der besagten Codezeile keine Abfrage einbauen.
If oEan13:13 <> NIL
ich wollte dich keinegswegs ärgern, aber es hätte ja sein können das auf einem anderen Wege in einer Function das Programm beendet werden sollte.
Kannst du den der besagten Codezeile keine Abfrage einbauen.
If oEan13:13 <> NIL
- Tom
- Der Entwickler von "Deep Thought"
- Beiträge: 9394
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 105 Mal
- Danksagung erhalten: 364 Mal
- Kontaktdaten:
Re: Programmabbruch, ohne Fehlermeldung
Oder so:
Trotzdem sollte das an dieser Stelle nicht ohne Fehlermeldung abschmieren.
Code: Alles auswählen
cText_Preisaenderung += IF(oEan13:ean # NIL,oEan13:ean,"") + " " +;
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Programmabbruch, ohne Fehlermeldung
@Rolf
alles klar. Es war auch ein Denkfehler von mir. Ich habe es gegen eine sichere Art geändert.
@Tom,
da gehe ich mit Dir vollkommen Kondom. Alaska hat das Beispiel schon erhalten. Mal sehen, wann die reagieren. Ich habe noch was anderes vor ein paar Tagen abgeschickt, aber noch keine Reaktion darauf erhalten.
alles klar. Es war auch ein Denkfehler von mir. Ich habe es gegen eine sichere Art geändert.
@Tom,
da gehe ich mit Dir vollkommen Kondom. Alaska hat das Beispiel schon erhalten. Mal sehen, wann die reagieren. Ich habe noch was anderes vor ein paar Tagen abgeschickt, aber noch keine Reaktion darauf erhalten.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15710
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 73 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Programmabbruch, ohne Fehlermeldung
Hallo,
ich sehe da ein oEAN ! also ein Object !
Bitte zeige uns doch mal den Quellcode dieser Funktion (ist sie von dir - oder aus einer DLL)
eventuell wird dort das Programm ins Nirwana geschickt, ohne dass Xbase++ noch reagieren könnte.
ich sehe da ein oEAN ! also ein Object !
Bitte zeige uns doch mal den Quellcode dieser Funktion (ist sie von dir - oder aus einer DLL)
eventuell wird dort das Programm ins Nirwana geschickt, ohne dass Xbase++ noch reagieren könnte.
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Programmabbruch, ohne Fehlermeldung
Hi Hubert,
damit dürfte nichts sein, weil es ja bei der anderen Variante den gewünschten Fehler produziert.
Das Objekt ist in Ordnung, es gehört mir. Es ist nur die Membervar, die aus Pennerei NIL ist zu dem Zeitpunkt.
ich habe es gegen (oEAn13:nArea)->ean ausgetauscht und das klappt.
Ich warte einfach ab, was Alaska dazu sagt.
damit dürfte nichts sein, weil es ja bei der anderen Variante den gewünschten Fehler produziert.
Das Objekt ist in Ordnung, es gehört mir. Es ist nur die Membervar, die aus Pennerei NIL ist zu dem Zeitpunkt.
ich habe es gegen (oEAn13:nArea)->ean ausgetauscht und das klappt.
Ich warte einfach ab, was Alaska dazu sagt.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
- brandelh
- Foren-Moderator
- Beiträge: 15710
- Registriert: Mo, 23. Jan 2006 20:54
- Wohnort: Germersheim
- Hat sich bedankt: 73 Mal
- Danksagung erhalten: 38 Mal
- Kontaktdaten:
Re: Programmabbruch, ohne Fehlermeldung
warst du nicht der, der vorkompilierte OBJ Dateien mit einbringt ?Manfred hat geschrieben:Hi Hubert,
damit dürfte nichts sein,
Könnte da welche mit verschiedenen Ständen dabei sein
Gruß
Hubert
Hubert
- Manfred
- Foren-Administrator
- Beiträge: 21248
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 211 Mal
- Danksagung erhalten: 71 Mal
Re: Programmabbruch, ohne Fehlermeldung
Hi Hubert,
ja der bin ich.
Aber da liegt das derzeitige Problem nicht. Wie schon erwähnt, dieses Objekt ist absolut ok. Es wird etwas höher schon benutzt und macht keine Probleme.
ja der bin ich.
Aber da liegt das derzeitige Problem nicht. Wie schon erwähnt, dieses Objekt ist absolut ok. Es wird etwas höher schon benutzt und macht keine Probleme.
Gruß Manfred
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!
Mitglied der XUG Osnabrück
Schatzmeister des Deutschsprachige Xbase-Entwickler e.V.
großer Fan des Xbaseentwicklerwiki https://wiki.xbaseentwickler.de/index.p ... Hauptseite
Doof kann man sein, man muß sich nur zu helfen wissen!!