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
Seite 1 von 2  1 2      
jus

Registriert seit: 22. Jan 2005
350 Beiträge
 
Delphi 2007 Professional
 
#1

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 09:35
@KodeZwerg
Ja stimmt, einfach in die dpr schreiben. Die Lösung lag eigentlich auf der Hand, aber im nachhinein ist man immer schlauer. Vielen Dank!

@jaenicke
Vielen Dank für den coolen Trick!

lg,
jus
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 09:46
Zumindest bisher ist es offenbar so, daß die IDE sämtlichen Code vor dem Application.Initialize in Ruhe lässt. Deswegen wäre auch dieser Ansatz eine mögliche Lösung, bei der die automatischen Eingriffe der IDE weiterhin möglich bleiben:
Delphi-Quellcode:
begin
  if ParamCount > 0 then begin
    { Kommandozeile abarbeiten }
    Halt(0);
  end;

  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  ...
end.
Es ist allerdings zu beachten, daß mit diesen Tricks immer noch kein Konsolenprogramm daraus wird. Insbesondere werden irgendwelche Aufrufe von Write/-ln und Read/-ln auf die impliziten IO-Kanäle Input und Output nicht funktionieren.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.557 Beiträge
 
Delphi 12 Athens
 
#3

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 10:19
Warum ermorden ( Halt(0); ) eigentlich immer welche ihre Anwendung, anstatt das zu machen, was sie eigentlich wollten?
Also die Anwendung Ausführung abzubrechen ( Exit; ).
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Schokohase
(Gast)

n/a Beiträge
 
#4

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 10:38
Den Code zum Auswerten/Abarbeiten der Parameter würde ich auslagern in eine andere Unit
Delphi-Quellcode:
unit CmdLineProcessor;

interface

function ProcessCmdLine() : Boolean;

implementation

function ProcessCmdLine() : Boolean;
begin
  // Hier eigentlich etwas sinnvolles mit den Parametern anfangen
  Result := ParamCount > 0;
end;
In der DPR genügt dann eine Zeile Code:
Delphi-Quellcode:
begin
  if ProcessCmdLine() then Exit;

  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  ...
end.
  Mit Zitat antworten Zitat
Hobbycoder

Registriert seit: 22. Feb 2017
1.017 Beiträge
 
#5

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 14:35
Es ist allerdings zu beachten, daß mit diesen Tricks immer noch kein Konsolenprogramm daraus wird. Insbesondere werden irgendwelche Aufrufe von Write/-ln und Read/-ln auf die impliziten IO-Kanäle Input und Output nicht funktionieren.
Wie würden denn das realisierbar sein?
Gruß Hobbycoder
Alle sagten: "Das geht nicht.". Dann kam einer, der wusste das nicht, und hat's einfach gemacht.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

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

AW: Starten wahlweise mit und ohne GUI

  Alt 6. Jun 2018, 14:51
In dem man eine Konsole erstellt vermutlich, in der man dann arbeiten kann.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

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

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
 
#8

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
 
#9

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.758 Beiträge
 
Delphi 12 Athens
 
#10

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
Antwort Antwort
Seite 1 von 2  1 2      


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 13:27 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