AGB  ·  Datenschutz  ·  Impressum  







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

Starten wahlweise mit und ohne GUI

Ein Thema von jus · begonnen am 5. Jun 2018 · letzter Beitrag vom 6. Jun 2018
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.785 Beiträge
 
Delphi 12 Athens
 
#1

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 15:08
Wie würden denn das realisierbar sein?
Eigentlich gar nicht: https://blogs.msdn.microsoft.com/old...01-00/?p=19643
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 15:26
Ich habe mir den Artikel und auch den Sub-Artikel durch gelesen, so wie ich es anstelle wird dort nicht aufgeführt als possibility. In mehreren meiner mini-Apps kann man die App über Console oder GUI steuern, erstellt wird die App als Consolen-Anwendung, bei Start überprüfe ich Parameter, entweder schließe ich Console und übergebe die Kontrolle an die GUI oder ich verweile in der Console und habe da meinen Spass. Auch wenn es falsch sein mag, es funktioniert bis jetzt ohne negative Auswirkungen zu vernehmen. (die GUI wird bei Laufzeit nonVcl erstellt aber das Prinzip müsste überall funktionieren, ich habe es aber nur auf diese Weise bis jetzt verwendet.)
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 15:36
https://stackoverflow.com/questions/...e-command-line
Sollte etwas dabei sein.....
Fritz Westermann
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.785 Beiträge
 
Delphi 12 Athens
 
#4

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 15:51
Ich bin da lieber auf der sicheren Seite, was unerwartete Anwender-Szenarien und zukünftige Windows-Updates betrifft, und liefere in so einem Fall immer zwei Executables aus. Die Console-Version bekommt dann in der Regel noch ein Cmd am Ende des Namens spendiert, damit auch jeder weiß, womit er es zu tun hat.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 16:13
Ist man mit Delphi in der Lage sich ein mini .COM file zu kreiiren als Loader wenn man zwei getrennte Anwendungen erstellt?
Also das in dem App.com die Parameter geprüft werden und je nach Parameter dann die AppCon.exe bzw App.exe geladen wird und entsprechende Parameter rangehängt werden beim Aufruf.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 16:18
Ist man mit Delphi in der Lage sich ein mini .COM file zu kreiiren als Loader wenn man zwei getrennte Anwendungen erstellt?
Also das in dem App.com die Parameter geprüft werden und je nach Parameter dann die AppCon.exe bzw App.exe geladen wird und entsprechende Parameter rangehängt werden beim Aufruf.
Aus welchem Jahrhundert stammst Du den? Com war MsDos.....

mach die ne kleine *.exe wenn schon......
Fritz Westermann
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#7

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 16:30
Die Variante auf SO ist ja ganz nett, allerdings reicht es völlig aus, sich an die Parent-Console dranzuhängen, und wenn das fehlschlägt eine eigene Console zu eröffnen:

Delphi-Quellcode:
uses
  Winapi.Windows;

const
  ATTACH_PARENT_PROCESS = DWORD( -1 );

function AttachConsole( dwProcessID: DWORD ): Boolean; stdcall; external 'kernel32.dll';


if not AttachConsole( ATTACH_PARENT_PROCESS ) and not AllocConsole( )
  then
    RaiseLastOSError( );
try
  Write('Here I am!');
  ReadLn;
finally
  FreeConsole();
end;
ABER das ist immer noch nicht dasselbe, als wenn man eine echte Konsolen-Anwendung hat, denn die verhält sich noch ein wenig anders.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 18:57
Aus welchem Jahrhundert stammst Du den?
darauf
Ich bin aus der Vergangenheit/Gegenwart und Zukunft @Fritzew
darauf
Der KodeZwerg ist halt ein
dazu
Und wenn, dann bin ich HAL9000
Gruß vom KodeZwerg

Geändert von KodeZwerg ( 6. Jun 2018 um 22:22 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.785 Beiträge
 
Delphi 12 Athens
 
#9

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 16:25
Ist man mit Delphi in der Lage sich ein mini .COM file zu kreiiren als Loader wenn man zwei getrennte Anwendungen erstellt?
Also das in dem App.com die Parameter geprüft werden und je nach Parameter dann die AppCon.exe bzw App.exe geladen wird und entsprechende Parameter rangehängt werden beim Aufruf.
Du meinst, wie bei devenv.com und devenv.exe? Nein, da ist mir bei Delphi keine Möglichkeit bekannt.

Aber dann kannst du ja auch gleich eine AppCmd.exe bauen, die ohne Parameter dann die App.exe aufruft. Wie in einigen anderen Lösungsansätzen flackert dann halt kurz eine Konsole auf.

Ich verstehe auch irgendwie den Sinn nicht: Wenn ich eine CmdLine-Anwendunge ohne Parameter aufrufe und die dann nicht arbeiten kann, dann soll sie mir günstigstenfalls bitte ihre Aufrufkonventionen mitteilen, aber in jedem Fall einen ErrorCode zurückgeben, den ich abfragen kann. Auf keinen Fall sollte sie eine GUI aufmachen, was z.B. in einem unsichtbarem Desktop, einem Build-Skript oder einem FinalBuilder-Projekt gar nicht gehen oder sogar böse enden würde.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Fritzew

Registriert seit: 18. Nov 2015
Ort: Kehl
678 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 16:26
Ist man mit Delphi in der Lage sich ein mini .COM file zu kreiiren als Loader wenn man zwei getrennte Anwendungen erstellt?
Also das in dem App.com die Parameter geprüft werden und je nach Parameter dann die AppCon.exe bzw App.exe geladen wird und entsprechende Parameter rangehängt werden beim Aufruf.
Du meinst, wie bei devenv.com und devenv.exe? Nein, da ist mir bei Delphi keine Möglichkeit bekannt.

Aber dann kannst du ja auch gleich eine AppCmd.exe bauen, die ohne Parameter dann die App.exe aufruft. Wie in einigen anderen Lösungsansätzen flackert dann halt kurz eine Konsole auf.

Ich verstehe auch irgendwie den Sinn nicht: Wenn ich eine CmdLine-Anwendunge ohne Parameter aufrufe und die dann nicht arbeiten kann, dann soll sie mir günstigstenfalls bitte ihre Aufrufkonventionen mitteilen, aber in jedem Fall einen ErrorCode zurückgeben, den ich abfragen kann. Auf keinen Fall sollte sie eine GUI aufmachen, was z.B. in einem unsichtbarem Desktop, einem Build-Skript oder einem FinalBuilder-Projekt gar nicht gehen oder sogar böse enden würde.
Dem ist nichts!!! hinzuzufügen
Fritz Westermann
  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 20:41 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