Aufruf eines Editors mit Übergabe eines Charakterstring [ERL
Moderator: Moderatoren
- Manfred
- Foren-Administrator
- Beiträge: 21186
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Aufruf eines Editors mit Übergabe eines Charakterstring [ERL
Hi,
ich schreibe bei Fehlermeldungen einen gesammelten Text in eine Textdatei. Jede Meldung wird hinten angefügt, für eine History. Ich würde jetzt aber gerne die letzte Meldung nicht nur an die Textdatei anhängen, sondern auch zum Ansehen am Bildschirm und dann evtl. zum Ausdruck möglich machen. Die komplette Meldung ist jetzt im Speicher in einer Var, wie kriege ich die jetzt an einen Editor, den ich dann per Runshell aufrufe, übergeben? Der Text liegt ja nicht als Datei vor und das Programm wird an dieser Stelle IMMER beendet. Oder komme ich nicht umhin eine temporäre Datei kurz zu erzeugen und die dann aufzurufen?
ich schreibe bei Fehlermeldungen einen gesammelten Text in eine Textdatei. Jede Meldung wird hinten angefügt, für eine History. Ich würde jetzt aber gerne die letzte Meldung nicht nur an die Textdatei anhängen, sondern auch zum Ansehen am Bildschirm und dann evtl. zum Ausdruck möglich machen. Die komplette Meldung ist jetzt im Speicher in einer Var, wie kriege ich die jetzt an einen Editor, den ich dann per Runshell aufrufe, übergeben? Der Text liegt ja nicht als Datei vor und das Programm wird an dieser Stelle IMMER beendet. Oder komme ich nicht umhin eine temporäre Datei kurz zu erzeugen und die dann aufzurufen?
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: 9357
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Aufruf eines Editors mit Übergabe eines Charakterstring
Ich verstehe das Problem nicht. Du kannst RunShell asynchron (dritter Parameter .T.) ausführen, dann läuft Dein Programm weiter und kann sich sogar beenden, ohne das das gestartete externe Programm beendet wird. Den Text schreibst Du in eine Datei im Temp-Verzeichnis (es müsste dazu einen Thread geben, wie man das Benutzer-Temp-Verzeichnis via API herausfindet) und gibst ihr einen temporären Namen (Funktion "TempFile()"). Das Temp-Verzeichnis wird bei "Laufwerk bereinigen" ohnehin mitgelöscht, so dass Du Dich auch nicht um Fragmente scheren müsstest.
Aber so ganz verstehe ich nicht einmal den Ansatz. Was spricht dagegen, einfach eine MsgBox() anzuzeigen, bevor sich Dein Programm beendet? Damit sind auch mehrzeilige Strings darstellbar.
Edit: Notepad, Wordpad und der Windows-Editor können nicht mit einem Text als Parameter gestartet werden, den sie anzeigen sollen. Nur mit Dateinamen.
Aber so ganz verstehe ich nicht einmal den Ansatz. Was spricht dagegen, einfach eine MsgBox() anzuzeigen, bevor sich Dein Programm beendet? Damit sind auch mehrzeilige Strings darstellbar.
Edit: Notepad, Wordpad und der Windows-Editor können nicht mit einem Text als Parameter gestartet werden, den sie anzeigen sollen. Nur mit Dateinamen.
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21186
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Aufruf eines Editors mit Übergabe eines Charakterstring
Ja Tom,
MsgBox. Das war die zündende Idee. Danke aber daran habe ich mal wieder nicht gedacht. Das genügt mir erstmal.
MsgBox. Das war die zündende Idee. Danke aber daran habe ich mal wieder nicht gedacht. Das genügt mir erstmal.
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: 9357
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Aufruf eines Editors mit Übergabe eines Charakterstring
Schön. Längeren Text u.U. an einigen Stellen mit CR/LF versehen.
Herzlich,
Tom
Tom
-
- UDF-Programmierer
- Beiträge: 66
- Registriert: Fr, 29. Feb 2008 20:53
- Wohnort: Furtwangen
Re: Aufruf eines Editors mit Übergabe eines Charakterstring
Hallo Manfred,
bei mir mache ich sowas meistens mit DCMULTILINE.
Dann spielt die Länge des Textes auch keine Rolle.
bei mir mache ich sowas meistens mit DCMULTILINE.
Dann spielt die Länge des Textes auch keine Rolle.
Gruß Klaus
-
- 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: Aufruf eines Editors mit Übergabe eines Charakterstring
Oder einfach XbpMle verwenden
Uli
Uli
-------
Mitglied XuG Cologne
Mitglied XuG Osnabrück
Mitglied XuG Cologne
Mitglied XuG Osnabrück
- Manfred
- Foren-Administrator
- Beiträge: 21186
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Aufruf eines Editors mit Übergabe eines Charakterstring
OK,
Allerdings ist diese Routine für Hybrid wie für GUI gedacht. Bei den letzten beiden Vorschlägen müßte ich dann noch etwas Aufwand treiben.
Allerdings ist diese Routine für Hybrid wie für GUI gedacht. Bei den letzten beiden Vorschlägen müßte ich dann noch etwas Aufwand treiben.
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: 9357
- Registriert: Do, 22. Sep 2005 23:11
- Wohnort: Berlin
- Hat sich bedankt: 101 Mal
- Danksagung erhalten: 361 Mal
- Kontaktdaten:
Re: Aufruf eines Editors mit Übergabe eines Charakterstring
XbpMLE oder DCMULTILINE - ist ja dasselbe - müssten wieder in einen Dialog eingebunden, mit einem Eventhandler versehen usw. werden, was an einer Stelle, an der es um Laufzeitfehlerbehandlung geht, nicht ganz unkritisch ist. Eine MsgBox() - letztlich ein simpler API-Call - ist da schon verlässlicher, davon abgesehen immer modal und eben auch mit längerem Text benutzbar.
Ich benutze für derlei einen Taskdialog (s.u.). Vorher wird aber geprüft, um welche Art von Fehler es sich gehandelt hat, und nicht bei allen erscheint der Dialog. Außerdem wird der Fehler in eine Log-Datei geschrieben, ein Report mit Screenshot erzeugt usw. Der Button "Details anzeigen" liefert die Fehlerbeschreibung (der Dialog erweitert sich), also genau das, um das es Dir hier vermutlich geht. Es gibt aber auch Einstellungen, die all das unterbinden und lediglich einen Log-Eintrag, eine Mail an unseren Support und eine Beendigung des Programmes auslösen. Der Taskdialog ist noch mit einer zusätzlichen Option "Fehler korrigieren" verfügbar, wenn bestimmte Fehlerarten vorliegen (Symbol ist kein Datenbankfeld, unzulässige Funktion usw - also Fehler, die auf Probleme mit Tabellen oder Indexen verweisen, und die das Programm selbst korrigieren kann).
Ich benutze für derlei einen Taskdialog (s.u.). Vorher wird aber geprüft, um welche Art von Fehler es sich gehandelt hat, und nicht bei allen erscheint der Dialog. Außerdem wird der Fehler in eine Log-Datei geschrieben, ein Report mit Screenshot erzeugt usw. Der Button "Details anzeigen" liefert die Fehlerbeschreibung (der Dialog erweitert sich), also genau das, um das es Dir hier vermutlich geht. Es gibt aber auch Einstellungen, die all das unterbinden und lediglich einen Log-Eintrag, eine Mail an unseren Support und eine Beendigung des Programmes auslösen. Der Taskdialog ist noch mit einer zusätzlichen Option "Fehler korrigieren" verfügbar, wenn bestimmte Fehlerarten vorliegen (Symbol ist kein Datenbankfeld, unzulässige Funktion usw - also Fehler, die auf Probleme mit Tabellen oder Indexen verweisen, und die das Programm selbst korrigieren kann).
- Dateianhänge
-
- taskdialog.jpg (46.11 KiB) 5558 mal betrachtet
Herzlich,
Tom
Tom
- Manfred
- Foren-Administrator
- Beiträge: 21186
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Aufruf eines Editors mit Übergabe eines Charakterstring
Hi Tom,
das sieht natürlich recht charmant aus. Aber im Moment genügt mir der Tipp mit der MsgBox. Alles weitere werde ich mal nach und nach bauen, wenn ich wieder etwas mehr Zeit habe. Im Moment erweitere ich gerade die Möglichkeiten, was so alles passieren kann. Und ich dachte ich hätte schon recht viel abgefangen. Aber das war falsch gedacht.
das sieht natürlich recht charmant aus. Aber im Moment genügt mir der Tipp mit der MsgBox. Alles weitere werde ich mal nach und nach bauen, wenn ich wieder etwas mehr Zeit habe. Im Moment erweitere ich gerade die Möglichkeiten, was so alles passieren kann. Und ich dachte ich hätte schon recht viel abgefangen. Aber das war falsch gedacht.
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!!
- AUGE_OHR
- Marvin
- Beiträge: 12906
- Registriert: Do, 16. Mär 2006 7:55
- Wohnort: Hamburg
- Hat sich bedankt: 19 Mal
- Danksagung erhalten: 45 Mal
Re: Aufruf eines Editors mit Übergabe eines Charakterstring
du willst ein TaskDialog Control bauen ? da würde ich doch zu Codejock Controls greifen.Manfred hat geschrieben:das sieht natürlich recht charmant aus. Aber im Moment genügt mir der Tipp mit der MsgBox. Alles weitere werde ich mal nach und nach bauen ...
gruss by OHR
Jimmy
Jimmy
- Manfred
- Foren-Administrator
- Beiträge: 21186
- Registriert: Di, 29. Nov 2005 16:58
- Wohnort: Kreis Wesel
- Hat sich bedankt: 210 Mal
- Danksagung erhalten: 67 Mal
Re: Aufruf eines Editors mit Übergabe eines Charakterstring
Oops,
da war nicht die Rede von (zumindest vorerst). Mir gefiel nur die Aufmachung. Den Namen habe ich gar nicht gesehen.
da war nicht die Rede von (zumindest vorerst). Mir gefiel nur die Aufmachung. Den Namen habe ich gar nicht gesehen.
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!!