Konsolenfenster öffnet sich automatisch

Für Fragen von Einsteigern und Programmieranfängern...
Epcop
Beiträge: 159
Registriert: Di 29. Mai 2012, 09:36

Konsolenfenster öffnet sich automatisch

Beitrag von Epcop »

Hallo,

ich habe ein Problem mit Lazarus. Vermutlich ein einfacheres, daher schreibe ich im Einsteigerforum.

Ich habe nun ein neueres Lazarus installiert (1.2.4), vorher hatte ich 0.9. Anschließend habe ich ein paar Komponenten installiert.
Wenn ich nun eine Anwendung (z. B. Windowsanwendung, aber auch Konsolenanwendung) starte die ich mit Lazarus compiliert habe, öffnet sich zeitgleich immer ein Konsolenfenster ohne Text und verschwindet auch wieder wenn ich das Programm schließe. Kurz bevor es verschwindet erscheint dort ein Text. Obwohl es schnell verschwindet, konnte ich eine Meldung lesen die in etwa so klingt: "Heap dump by heaptrc unit ... memory ... memory " (Error?). Inzwischen habe ich sämtliche Komponenten wieder deinstalliert.
Muss ich irgendwo einen häckchen setzen oder ist bei der Installation was falsch gelaufen?? Hat jemand eine Idee?

Lg
Epcop

Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

Re: Konsolenfenster öffnet sich automatisch

Beitrag von Komoluna »

Heaptrc(Heaptrace) ist eine Debug Funktion, mit der man Speicherbelegungen verfolgen kann. Also kein Error, sondern eine Statusmeldung.

Guck mal unter Projekt -> Projekteinstellungen -> Compilereinstellungen -> Konfiguration und Ziele -> Win32-GUI-Anwendung. Wenn da ein Haken ist, sollte standardmäßig keine Konsole auftauchen.
Wenn die Konsole Immernoch da ist, dann durchsuch mal dein Projekt nach

Code: Alles auswählen

{$APPTYPE Console}
und setz ein "." oder ein " " vor das "$"(Auskommentieren)

MFG

Komoluna

P.S. Ohne Konsole wird mit Heaptrc am ende immer die Statusmeldung in einem Dialogfenster ausgegeben. Einfach unter Projekt -> Compilereinstellungen bei "Heaptrc Unit verwenden" den Haken rausnehmen.
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

Epcop
Beiträge: 159
Registriert: Di 29. Mai 2012, 09:36

Re: Konsolenfenster öffnet sich automatisch

Beitrag von Epcop »

Vielen Dank, das mit dem haken hat das Problem gelöst. Danke!

Epcop

Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

Re: Konsolenfenster öffnet sich automatisch

Beitrag von Komoluna »

welcher Haken?
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

Michl
Beiträge: 2511
Registriert: Di 19. Jun 2012, 12:54

Re: Konsolenfenster öffnet sich automatisch

Beitrag von Michl »

Komoluna hat geschrieben:welcher Haken?
Komoluna hat geschrieben:Guck mal unter Projekt -> Projekteinstellungen -> Compilereinstellungen -> Konfiguration und Ziele -> Win32-GUI-Anwendung. Wenn da ein Haken ist, sollte standardmäßig keine Konsole auftauchen.

Code: Alles auswählen

type
  TLiveSelection = (lsMoney, lsChilds, lsTime);
  TLive = Array[0..1] of TLiveSelection;  

Komoluna
Beiträge: 565
Registriert: So 26. Aug 2012, 09:03
OS, Lazarus, FPC: Windows(10), Linux(Arch)
CPU-Target: 64Bit

Re: Konsolenfenster öffnet sich automatisch

Beitrag von Komoluna »

ah, ok. Ich hatte ja 2 Sachen mit nem Haken(haha) genannt.

MFG

Komoluna
Programmer: A device to convert coffee into software.

Rekursion: siehe Rekursion.

Mathias
Beiträge: 6919
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Konsolenfenster öffnet sich automatisch

Beitrag von Mathias »

Ist es auch möglich zur Laufzeit eine Konsole zu öffnen ?

Etwa so ?

Code: Alles auswählen

procedure TForm1.Button1Click(Sender: TObject);
begin
  Oeffne_Konsole;
end;  
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 10874
Registriert: Mo 11. Sep 2006, 19:01

Re: Konsolenfenster öffnet sich automatisch

Beitrag von theo »

Mathias hat geschrieben:Ist es auch möglich zur Laufzeit eine Konsole zu öffnen ?
Ja, z.B.

Code: Alles auswählen

  ExecuteProcess('/usr/bin/xterm','');   

Mathias
Beiträge: 6919
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Konsolenfenster öffnet sich automatisch

Beitrag von Mathias »

Nur dies nützt nicht viel, man startet damit nur eine eigene Anwendung, welche nichts mit dem Hauptprogramm zu tun hat.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 10874
Registriert: Mo 11. Sep 2006, 19:01

Re: Konsolenfenster öffnet sich automatisch

Beitrag von theo »

Mathias hat geschrieben:Nur dies nützt nicht viel
Was soll es denn "nützen"? Bzw. was willst du erreichen?

Für Debug Output ist sowas vllt. geeigneter: http://wiki.lazarus.freepascal.org/DebugServer

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: Konsolenfenster öffnet sich automatisch

Beitrag von mse »

Mathias hat geschrieben:Ist es auch möglich zur Laufzeit eine Konsole zu öffnen ?
AllocConsole().
http://msdn.microsoft.com/en-us/library ... s.85).aspx

Mathias
Beiträge: 6919
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Konsolenfenster öffnet sich automatisch

Beitrag von Mathias »

Guck mal unter Projekt -> Projekteinstellungen -> Compilereinstellungen -> Konfiguration und Ziele -> Win32-GUI-Anwendung.
Unter Windows funktionierte dies prächtig.

Aber wie kann ich unter Linux eine Konsole aufrufen, dort gibt es dies Option leider nicht ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Mathias
Beiträge: 6919
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Konsolenfenster öffnet sich automatisch

Beitrag von Mathias »

Weis niemand, wie man eine Konsole unter Linux öffnet ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
theo
Beiträge: 10874
Registriert: Mo 11. Sep 2006, 19:01

Re: Konsolenfenster öffnet sich automatisch

Beitrag von theo »

Mathias hat geschrieben:Weis niemand, wie man eine Konsole unter Linux öffnet ?
Start -> Startparameter -> Startprogramm verwenden

Mathias
Beiträge: 6919
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Konsolenfenster öffnet sich automatisch

Beitrag von Mathias »

Das habe ich gerade versucht, egal ob di Vorgabe

Code: Alles auswählen

/usr/bin/gnome-terminal -t 'Lazarus Run Output' -e '$(LazarusDir)/tools/runwait.sh $(TargetCmdLine)'
oder

Code: Alles auswählen

/usr/bin/gnome-terminal
reinschreibe, es kommt zwar ein Terminal, aber der grafische Teil des Programmes wir nicht mehr gestartet.

Wen ich eine reine Konsolen-Anwendung schreiben wäre dies gut, aber ich will die Konsole als Fehler-Ausgabe bei GUI-Anwendungen brauchen.

Es kommt folgende Fehlermeldung:

Code: Alles auswählen

/n4800/DATEN/Programmierung/Lazarus/OpenGL/Wavefront OBJ/project1
/usr/share/lazarus/1.5.49936//tools/runwait.sh: 16: /usr/share/lazarus/1.5.49936//tools/runwait.sh: /n4800/DATEN/Programmierung/Lazarus/OpenGL/Wavefront: not found
--------------------------------------------------
Press enter
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Antworten