xppfatal.log [ERLEDIGT]

Konzeptionelles, Technisches, Termine, Fragen zum Hersteller usw.

Moderator: Moderatoren

Antworten
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21189
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

xppfatal.log [ERLEDIGT]

Beitrag von Manfred »

Hi,

hat irgendwer eine Ahnung, ob man die Erzeugung der Datei XPPfatal.log, die auf jeden FAll beim Abbruch eines Programmes mit ALT+C erzeugt wird, beeinflussen kann? In der "normalen" Errorsys habe ich nichts gefunden.
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!!
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Beitrag von brandelh »

Hallo Manfred,

soweit ich mich erinnere kann man den Pfad der XPPFATAL.LOG mit SET DEFAULT in ein anderes Verzeichnis umlegen, mehr geht nicht.
Gruß
Hubert
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re:

Beitrag von UliTs »

brandelh hat geschrieben:Hallo Manfred,

soweit ich mich erinnere kann man den Pfad der XPPFATAL.LOG mit SET DEFAULT in ein anderes Verzeichnis umlegen, mehr geht nicht.
Hallo Hubert (& andere :-) ),

Code: Alles auswählen

SET DEFAULT
beeinflußt den Pfad der XPPFATAL.LOG leider nicht, wohl aber z.B.

Code: Alles auswählen

CurDir( "Q:\" )
Ich habe dabei aber folgendes Problem:
Ich möchte NUR den Pfad von XPPFATAL.LOG ändern.
Nur: wie ändere ich den Pfad ohne selbigen für andere Dateizugriffe zu ändern?
Ich sehe leider keine Lösung.

Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15696
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 66 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: xppfatal.log

Beitrag von brandelh »

Da hatte ich mich geirrt ;-)

Die XppError.LOG kann man in der XppError.PRG und möglicherweise auch mit SET DEFAULT umleiten (bei letzterem bin ich mir nicht sicher),
ABER die XppFatal.LOG wird immer ins aktuelle Verzeichnis geschrieben, daher setze ich dieses bei meinen Citrix-Server Programmen (Schreibschutz im EXE Verzeichnis)
immer um. Seit 1.90.xxx geht das auch mit:

Code: Alles auswählen

CurDir()  - Aktuelles Dateiverzeichnis eines Laufwerks abfragen oder bestimmen 
* Aktuelles Verzeichnis umstellen auf Datenverzeichnis
CurDir( "C:\XPP\DATA" ) 
Gruß
Hubert
Benutzeravatar
Koverhage
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2470
Registriert: Fr, 23. Dez 2005 8:00
Wohnort: Aalen
Hat sich bedankt: 102 Mal
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: xppfatal.log

Beitrag von Koverhage »

Grundsätzlich wird die xpperror im aktuellen Verzeichnis
gespeichert. D.h. wenn ich einen Datenstick benutze (Programm auf Harddisk)
und vergesse den einzustecken, werden diese auf dem Desktop erstellt.
So wie mir bekannt kann man nur die XppError.log (durch Änderung von Errorsys.prg)
in ein anderes Verzeichnis legen. Eine solche Möglichkeit besteht für xppfatal
nicht.
Gruß
Klaus
UliTs
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2828
Registriert: Fr, 10. Feb 2006 9:51
Wohnort: Aachen
Hat sich bedankt: 259 Mal
Danksagung erhalten: 12 Mal
Kontaktdaten:

Re: xppfatal.log

Beitrag von UliTs »

Eine solche Möglichkeit besteht für xppfatal
nicht.
Hallo Klaus, doch!
Siehe oben mittels

Code: Alles auswählen

CurDir()
:)
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21189
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: xppfatal.log [ERLEDIGT]

Beitrag von Manfred »

Wie sieht es denn aus, wenn ein Programm mit ALT+C "verlassen" wird? Kann den risikolos die Tastenkombination umgeleitet werden? Manchmal muß man diesen Weg wählen um das Programm zu verlassen, dann würde es aber helfen, wenn man wegschreiben könnte wo das Programm beendet wurde. Die Datei würde dann dahin gespeichert, wo wieder Schreibrechte sind.
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!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9361
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: xppfatal.log [ERLEDIGT]

Beitrag von Tom »

Hallo, Manfred.

Natürlich kannst Du <Alt-C> risikolos abfangen. Zunächst einmal mit SetCancel(.F.), das ja die implizite Reaktion der Laufzeit auf <Alt-C> unterbindet, und dann kannst Du in Deiner/Deinen Eventloop/s eigenständig auf <Alt-C> oder irgendeine andere Tastenkombination reagieren und ein AppQuit auslösen. In dieser Situation kannst Du natürlich auch den Callstack irgendwo hinschreiben, ihn nennen, wie Du willst, und ggf. um weitere Informationen ergänzen. Vorausgesetzt allerdings, die Eventloop reagiert überhaupt noch. Bei SetCancel(.T.) reagiert ja der Event-Manager (EVM), der in einem eigenen Thread läuft und auch dann noch Nachrichten entgegennimmt, wenn Deine Applikation in einer Endlosschleife hängt. Deine Eventloop ist in diesem Moment u.U. völlig lahmgelegt. Was nicht funktioniert: Auf <Alt-C> in der Eventloop reagieren, obwohl SetCancel(.T.) gewählt ist. In dieser Situation kommt die Nachricht nicht mehr in Deiner Loop an.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21189
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: xppfatal.log [ERLEDIGT]

Beitrag von Manfred »

Hm,

das wäre ja dann das Problem. Alt+C wird erstmal generell beachtet. Wenn ich es abschalten würde, dann müßte ich doch wissen, wo ich es abfragen will. Ich müßte mal in der express++ Anleitung nachschauen, ob Roger da irgendwas vorgesehen hat.
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!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9361
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: xppfatal.log [ERLEDIGT]

Beitrag von Tom »

Code: Alles auswählen

DCREAD GUI ... HANDLER/HANDLERBLOCK ...
In dieser Variante kannst Du den Standard-eXpress++-Handler ergänzen, beispielsweise um eine Funktion im Codeblock zu "HANDLERBLOCK", die nur nachschaut, ob Tasten gedrückt wurden und es sich um <Alt-C> handelt. Das müsstest Du in jedem DCREAD tun. Ersatzweise: DCHOTKEY xbeK_ALT_C ACTION {||MeinQuit()} vor jedem DCREAD. Du kannst natürlich auch über eine #command-Direktive einfach jedes DCREAD GUI durch DCHOTKEY xbeK_ALT_C ACTION {||MeinQuit()} ;; DCREAD ... ersetzen lassen.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21189
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: xppfatal.log [ERLEDIGT]

Beitrag von Manfred »

Hi Tom,

ich bin in der Anleitung auf dc_menuaccel() gestossen. Ob das eine Lösung wäre?
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!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9361
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: xppfatal.log [ERLEDIGT]

Beitrag von Tom »

Das ist eine Funktion für den Textmodus. Also ein klares Nein. Mit dem eigenen Handler oder DC_HOTKEY bist Du auf der sicheren Seite. Beides kannst Du leicht mit Suchen&Ersetzen integrieren. Aber es reagiert eben nur, wenn die Eventloop auch Events entgegennimmt. Das ist nicht mehr der Fall, wenn eine Dialogfunktion in einer Endlosschleife steckt. Das Standard-<Alt-C> reagiert aber immer noch.
Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21189
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: xppfatal.log [ERLEDIGT]

Beitrag von Manfred »

OK, dann hat sich das Thema auch erledigt. Es sieht nämlich so aus, als wenn es eine Problemzone wäre, aus der ich mit ALT+C raus will.
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!!
Benutzeravatar
Tom
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 9361
Registriert: Do, 22. Sep 2005 23:11
Wohnort: Berlin
Hat sich bedankt: 101 Mal
Danksagung erhalten: 361 Mal
Kontaktdaten:

Re: xppfatal.log [ERLEDIGT]

Beitrag von Tom »

So geht es ganz einfach und applikationsweit:

Code: Alles auswählen

SetCancel(.F.) // implizites ALT-C abschalten
DC_SetKeyActive(.T.) // DCREAD reagiert auf Xbase++-"SetKey()"
SetKey(K_ALT_C,{||MeinQuit()}) // ALT-C ruft "MeinQuit" auf

Herzlich,
Tom
Benutzeravatar
Manfred
Foren-Administrator
Foren-Administrator
Beiträge: 21189
Registriert: Di, 29. Nov 2005 16:58
Wohnort: Kreis Wesel
Hat sich bedankt: 210 Mal
Danksagung erhalten: 67 Mal

Re: xppfatal.log [ERLEDIGT]

Beitrag von Manfred »

Vielen Dank, das werde ich mal versuchen.
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!!
Antworten