Einzelnen Beitrag anzeigen

Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
659 Beiträge
 
Delphi 12 Athens
 
#9

AW: GUI-Anwendung mit Konsolenausgabe

  Alt 14. Apr 2011, 12:49
Krass, soll das wirklich alles gewesen sein? Irgendwie hatte ich das (wie oben geschrieben) viel komplizierter in Erinnerung bei den Lösungen, die ich damals gefunden habe.

Ein Problem habe ich allerdings noch bei einem Test festgestellt: Wenn das Programm mit dem "/?" gestartet wird, gibt es den Text brav auf der Konsole aus, nach dem Ende des Programms wird dann aber kein Prompt angezeigt. D.h.: der Cursor blinkt, die Konsole nimmt auch Befehle entgegen, aber für den Benutzer sieht das nicht so aus, da er das Prompt nicht sieht. Irgendwelche Ideen, wie man das noch lösen kann?

Meine Komplettlösung sieht dann übrigens so aus:

Delphi-Quellcode:
program GUIcons;

uses
  Forms,
  windows,
  Dialogs,
  main in 'main.pas{Form1};

const
 // Konstante definieren
  ATTACH_PARENT_PROCESS = DWord(-1);

// API einbinden
function AttachConsole(dwProcessId: DWord): Boolean; stdcall; external 'kernel32.dllname 'AttachConsole';
{$R *.res}

begin
  // Hier beginnt das About (innerhalb der .DPR vor dem Application.Initialize)
  if paramstr(1)='/?then begin
    if AttachConsole(ATTACH_PARENT_PROCESS) then begin
      try
        WriteLn(#13#10 + 'About');
        writeln;
      finally
        FreeConsole;
      end;
    end else begin
      ShowMessage('About');
    end;
  end else begin
    Application.Initialize;
    Application.MainFormOnTaskbar := True;
    Application.CreateForm(TForm1, Form1);
    Application.Run;
  end;
end.
Bis denn
Bommel
  Mit Zitat antworten Zitat