AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Ausgabe auf "Pseudoconsole" umleiten
Thema durchsuchen
Ansicht
Themen-Optionen

Ausgabe auf "Pseudoconsole" umleiten

Ein Thema von Bernhard Geyer · begonnen am 7. Dez 2006 · letzter Beitrag vom 8. Dez 2006
Antwort Antwort
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#1

Ausgabe auf "Pseudoconsole" umleiten

  Alt 7. Dez 2006, 07:49
Ich verwende in meinem Programm eine DLL welche bei vorhandensein eines Consolenfensters Debugausgaben auf diese erledigt.
Jedoch möchte ich für Fehlersuche nicht jedesmal meine Anwendung als Consolenapplikation kompilieren und dieses "Hässliche" Fenster haben, deshalb suche ich nach einer Möglichkeit intern ein verstecktes Consolenfenster zu erzeugen welche ich bei Bedarf auslese und in einem eigenen "Debugfenster" anzeige.

Hat jemand für mich Tipps/Codbeispiel/...?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#2

Re: Ausgabe auf "Pseudoconsole" umleiten

  Alt 7. Dez 2006, 07:57
Hallo Bernhard,

hilft dir vielleicht dieser thread weiter: gui anwendung mit consolenausgabe

Freundliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von SirThornberry
SirThornberry
(Moderator)

Registriert seit: 23. Sep 2003
Ort: Bockwen
12.235 Beiträge
 
Delphi 2006 Professional
 
#3

Re: Ausgabe auf "Pseudoconsole" umleiten

  Alt 7. Dez 2006, 09:54
Wenn es um eine versteckte Ausgabe geht kannst du doch auch ein Memo etc. nehmen. Dann übergibst du der DLL einen Funktionspointer von einer Funktion welche Texte entgegen nimmt. Somit kannst du im Hauptprogramm selbst eintscheiden wie du die Debugausgabe anzeigst. Du kannst dir natürlich auch mal OutputDebugString anschauen, das ist genau für sowas gedacht.
Jens
Mit Source ist es wie mit Kunst - Hauptsache der Künstler versteht's
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: Ausgabe auf "Pseudoconsole" umleiten

  Alt 7. Dez 2006, 14:01
Zitat von SirThornberry:
Wenn es um eine versteckte Ausgabe geht kannst du doch auch ein Memo etc. nehmen. Dann übergibst du der DLL einen Funktionspointer von einer Funktion welche Texte entgegen nimmt. Somit kannst du im Hauptprogramm selbst eintscheiden wie du die Debugausgabe anzeigst. Du kannst dir natürlich auch mal OutputDebugString anschauen, das ist genau für sowas gedacht.
Diese "DLL" ist eine Java-Klasse per JNI angebunden. Und hier alle Exception etc. auf diese Funktion umzubiegen ist fraglich ob das geht.

Ich habe jetzt versucht den Code der z.B. hier angegeben ist versucht zu verwenden.

Jedoch müßte ich Standard-Output der eigenen Instanz auf die per CreatePipe erzeugten Handels umbiegen.
Mit welcher Win32-API könnte ich das machen?
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

Re: Ausgabe auf "Pseudoconsole" umleiten

  Alt 8. Dez 2006, 09:01
Zitat von Bernhard Geyer:
Jedoch möchte ich für Fehlersuche nicht jedesmal meine Anwendung als Consolenapplikation kompilieren.
Brauchst Du doch gar nicht.

Wenn Du eine Console brauchst, dann erzeug dir eine.
Wenn Du sie nicht mehr brauchst, entferne sie wieder.

Dieses Consolenfenster sollte auch Deine Java Dingens erkennen

z.B.:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  AllocConsole;
  SetConsoleTitle('Debug Ausgaben');
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  FreeConsole;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
  if GetConsoleCP <> 0 then
  begin
    WriteLn('Das ist ein Log');
  end;
end;
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Ausgabe auf "Pseudoconsole" umleiten

  Alt 8. Dez 2006, 09:24
Zitat von MaBuSE:
Zitat von Bernhard Geyer:
Jedoch möchte ich für Fehlersuche nicht jedesmal meine Anwendung als Consolenapplikation kompilieren.
Brauchst Du doch gar nicht.

Wenn Du eine Console brauchst, dann erzeug dir eine.
Wenn Du sie nicht mehr brauchst, entferne sie wieder.

Dieses Consolenfenster sollte auch Deine Java Dingens erkennen
Diese Lösung kenn ich schon und werde ich auch im Notfall nehmen wenn es keine andere Lösung gibt.
Ich wollte aber dieses "hässliche" Fenster vermeiden und auch eine einfache Möglichkeit bieten das die dort geschriebenen Ausgaben z.B. einfach per Textdatei oder E-Mail mir zugesendet werden.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:43 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz