Writeln Fehler

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
flashkid
Beiträge: 35
Registriert: So 14. Feb 2010, 18:15

Writeln Fehler

Beitrag von flashkid »

Hi :)

Ich habe ein Problem. Ich würde gerne in meinem Projekt ein debugging Fenster laufen haben, in das ich per Writeln ein paar Vorgänge schreiben kann. Doch leider bekomme ich bei einem Klick auf einen Button, der eine Writeln Aktion ausführt folgende Fehlermeldung:
"File not open.
Press OK to ignore and risk data corruption.
Press Cancel to kill the program."

Wieso kommt diese Fehlermeldung? :(
Den writeln command habe ich aus einem Projekt genommen, bei dem ich kein GUI Fenster habe, liegt es daran?
Gibt es einen anderen / besseren Weg das Problem zu lösen?

Gruß, flashkid

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Writeln Fehler

Beitrag von corpsman »

Den Fehler bekommst du nur unter Windows.

Wie man die Konsole aufmacht weis ich nicht, hab ich noch nicht raus bekommen, aber wenn du das Programm aus der Konsole startest, und zu beginn des Programms die Anweisung :

Code: Alles auswählen

{$APPTYPE console}
hast, dann geht es auch unter Windows.
--
Just try it

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Writeln Fehler

Beitrag von mse »

corpsman hat geschrieben: Wie man die Konsole aufmacht weis ich nicht, hab ich noch nicht raus bekommen
http://msdn.microsoft.com/en-us/library ... 85%29.aspx

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Writeln Fehler

Beitrag von corpsman »

und wie gehts unter Linux ?
--
Just try it

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Writeln Fehler

Beitrag von mse »

corpsman hat geschrieben:und wie gehts unter Linux ?
Unter Linux sind stdin, stdout und stderr immer vorhanden.

flashkid
Beiträge: 35
Registriert: So 14. Feb 2010, 18:15

Re: Writeln Fehler

Beitrag von flashkid »

@ corpsman:
Danke, damit geht es nun :)

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1617
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Writeln Fehler

Beitrag von corpsman »

*g*

ja das der Befehl Writeln unter Linux immer geht, das wusste ich, da ich ihn ja schließlich andauernd nutze, ich meinte, das öffnen der Konsole unter Linux, so dass ich die Ausgabe auch sehen kann während ich debugge...
--
Just try it

mse
Beiträge: 2013
Registriert: Do 16. Okt 2008, 10:22
OS, Lazarus, FPC: Linux,Windows,FreeBSD,(MSEide+MSEgui 4.6,git master FPC 3.0.4,fixes_3_0)
CPU-Target: x86,x64,ARM

Re: Writeln Fehler

Beitrag von mse »

corpsman hat geschrieben:ich meinte, das öffnen der Konsole unter Linux, so dass ich die Ausgabe auch sehen kann während ich debugge...
Da musst du xterm mit deinem Programm als -e Parameter starten.

Code: Alles auswählen

xterm -e ./test1
Wenn das Program test1 heisst. Ein "öffnen der Konsole" gibt es unter Linux nicht. Allenfalls kann ein childprocess gestartet und dessen stdio verwendet werden. Mit xterm habe ich dies noch nicht fertig gebracht, dafür gibt es da die Option -Sccn (siehe man xterm).

flashkid
Beiträge: 35
Registriert: So 14. Feb 2010, 18:15

Re: Writeln Fehler

Beitrag von flashkid »

Also irgendwie ist das nicht so das gelbe vom Ei :(
Manchmal kommt die Konsole, manchmal nicht.

Wie kann man denn zuverlässig ein kleines Debug Fenster laufen haben? Braucht das keiner von euch, weil ihr euren Code gleich perfekt schreibt oder wie :P

Targion
Beiträge: 688
Registriert: Mi 3. Okt 2007, 21:00
OS, Lazarus, FPC: Linux (L 0.9.29 FPC 2.4.2)
CPU-Target: x86_64

Re: Writeln Fehler

Beitrag von Targion »

Die dreckige Variante: Einfach den Haken vor "Win32GUI-Anwendung" unter Linux entfernen - dann wird IMMER die Ausgabe in einem separaten XTerm ausgegeben. (Ist das eigentlich ein Bug? Wenn ja, sollte man das mal als Feature ofiziell markieren :mrgreen: )

flashkid
Beiträge: 35
Registriert: So 14. Feb 2010, 18:15

Re: Writeln Fehler

Beitrag von flashkid »

Ich arbeite leider unter Windows, da wird das wohl nicht gehen.
Es muss doch irgend eine Möglichkeit geben ein kleines Debug Fenster zu erstellen :(

Hitman
Beiträge: 512
Registriert: Mo 25. Aug 2008, 18:17
OS, Lazarus, FPC: ArchLinux x86, WinVista x86-64, Lazarus 0.9.29, FPC 2.4.1
CPU-Target: x86
Wohnort: Chemnitz

Re: Writeln Fehler

Beitrag von Hitman »

Unter Windows geht das doch genauso (bzw. gerade da), wenn du den Haken bei besagter Option rausnimmst.

flashkid
Beiträge: 35
Registriert: So 14. Feb 2010, 18:15

Re: Writeln Fehler

Beitrag von flashkid »

Stimmt, das funktioniert auch unter Windows :)
Funktioniert anscheinend stabiler als der "{$APPTYPE console}" Tipp.

Danke ;)

Antworten