Einzelnen Beitrag anzeigen

Benutzerbild von wicht
wicht

Registriert seit: 15. Jan 2006
Ort: Das schöne Enger nahe Bielefeld
809 Beiträge
 
Delphi XE Professional
 
#6

AW: Programm abhängig von Runtimeparameter unsichtbar starten

  Alt 29. Aug 2010, 20:50
Hi,

ShowMainForm := False oder Visible := False sind dann wohl fast deine einzigen Möglichkeiten. Solange keine Interaktion vom Benutzer nötig ist (beachte auch Fehlerfälle, wenn zum Beispiel falsche Daten vorliegen, eine Datei nicht existiert, etc. - dann sollte *keine* MessageBox kommen), sollte das auch hinhauen.
Trennen könnte man es zum Beispiel, in dem man eine Klasse TAnalyzer baut, die als Methode zum Beispiel AnalyzeStart() hat. Das Form würde eine Instanz dieser Klasse erzeugen und die Datenverarbeitung mit AnalyzeStart() anhauen. Weil du ja Daten noch grafisch darstellen möchtest, hätte die Klasse TAnalyzer einen oder mehrer Events, an die sich das Form verbindet. Über die Events gibt die Klasse TAnalyzer, die die Daten hält und verarbeitet, dann Infos an das Fenster weiter, so dass da zum Beispiel eine Kurve oder sonstwas mit Hilfe der Daten aus dem Event gemalt werden kann. Und wenn du jetzt eine Version bauen wolltest, die kein Fenster mehr hat, erstellst du einfach eine Instanz dieser Klasse (Code in der .dpr-Datei, wo auch das Application.* alles steht) und rufst dann AnalyzeStart() auf - das Fenster ist dann nicht mehr nötig und die Logik ist von der Oberfläche schön getrennt. So ist es dann auch ganz einfach möglich, nebenbei noch ein Konsolenprogramm oder einen Dienst anzubieten. Alle 3 Programme würden dann genau das selbe machen, weil die Logik dank TAnalyze überall die gleiche ist.
Seitdem ich mir diese Vorgehensweise angewöhnt habe, ist mein Leben schöner geworden. Hört sich doof an, ist aber so

Liebe Grüße
http://streamwriter.org

"I make hits. Not the public. I tell the DJ’s what to play. Understand?"

Geändert von wicht (29. Aug 2010 um 20:56 Uhr)
  Mit Zitat antworten Zitat