AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Ausgaben an StdOut aus DLL lesen

Ein Thema von Tyrael Y. · begonnen am 17. Dez 2009 · letzter Beitrag vom 17. Dez 2009
 
Tyrael Y.

Registriert seit: 28. Jul 2003
Ort: Stuttgart
1.093 Beiträge
 
Delphi 2007 Professional
 
#2

Re: Ausgaben an StdOut aus DLL lesen

  Alt 17. Dez 2009, 13:56
Ich habe eine kleine Testapplikation erstellt.
Wenn ich in den Projektoptionen bei Linker/Konsolenanwendung markiere krieg ich mit folgendem Weg die Ausgaben aus der Console in mein Memo. Es erscheint halt aber ein sichtbares Konsolenfenster.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  stdout := GetStdHandle(STD_OUTPUT_HANDLE);
end;

procedure TForm1.Button1Click(Sender: TObject);
var
    coord: _COORD;
    readed: Cardinal;
    text: string;
begin
  ExecuteFunctionFromDLL();
 
  coord.x := 0;
  coord.y := 0;
  SetLength(text, 2048);
  ReadConsoleOutputCharacter(stdout, PChar(text), 2048, coord, readed);
  memo1.Lines.Text := Text;
end;
Lass ich das mit der Konsolenanwendung in den Optionen weg und schreibe statt dessen...
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  AllocConsole;
  stdout := GetStdHandle(STD_OUTPUT_HANDLE);
end;
...erscheint wieder ein Konsolenfenster, aber beim Test krieg ich weder in der Konsole, noch im Memo einen Text.

Ändere ich den BuutonKlick aber in
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
    coord: _COORD;
    readed: Cardinal;
    text: string;
begin
  writeln('foo');
 
  coord.x := 0;
  coord.y := 0;
  SetLength(text, 2048);
  ReadConsoleOutputCharacter(stdout, PChar(text), 2048, coord, readed);
  memo1.Lines.Text := Text;
end;
...seh ich das foo im Konsolenfenster und auch in der Memo.

Scheint ein Rechteproblem im Zusammenhang mit DLL´s zu sein.
Nur wie löse ich es über den Weg mit AllocConsole?

...to be continued
Levent Yildirim
Erzeugung von Icons aus Bildern:IconLev
  Mit Zitat antworten Zitat
 


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 22:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz