AGB  ·  Datenschutz  ·  Impressum  







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

Programm unsichtbar starten

Ein Thema von Cogito · begonnen am 29. Jun 2010 · letzter Beitrag vom 30. Jun 2010
Antwort Antwort
Cogito

Registriert seit: 12. Jun 2008
280 Beiträge
 
#1

Programm unsichtbar starten

  Alt 29. Jun 2010, 10:53
Hallo zusammen,

ich möchte ein Programm schreiben, dass mittels Taskplaner mit Kommandozeilenparameter unsichtbar gestartet werden soll, bestimmte Dinge erledigt und sich selbst nach Erledigung wieder beendet. Es soll eine Form beinhalten, weil ich einige Komponenten benötige, aber wie gesagt, ein User sollte davon nichts mitbekommen. Das mit dem Taskplaner ist kein Problem, mein Programm wird mit dem richtigen Parameter aufgerufen, ebenso hab ich im Quelltext der Anwendung Application.ShowMainForm auf False gesetzt. Was ich aber nicht hinbekomme ist, wo ich den Quelltext für die Erledigung der Aufgaben einfügen soll? Ich habe das OnCreate Ereignis benutzt, aber da kommt immer eine Schutzverletzung, und das Programm beendet sich am Ende nicht. Hat hier jemand einen Vorschlag (ausser hierfür einen Dienst zu schreiben)?
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

AW: Programm unsichtbar starten

  Alt 29. Jun 2010, 11:11
Ich habe das OnCreate Ereignis benutzt, aber da kommt immer eine Schutzverletzung, und das Programm beendet sich am Ende nicht. Hat hier jemand einen Vorschlag (ausser hierfür einen Dienst zu schreiben)?
Ja, zeig uns doch mal den Quellcode.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.270 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Programm unsichtbar starten

  Alt 29. Jun 2010, 11:56
Hallo,

zum Beenden nimm folgendes

PostMessage(Handle, WM_CLOSE, 0, 0); Als Holzhacker get auch

Halt; Zur Schutzverletzung -> siehe mein Vorschreiber.

Kann es viell. sein, dass die Exe in einem anderen Verzeichnis gestartet wird als beim Debugger ?
Du kannst unter Start - Parameter deinen "AutoStart"-Parameter angeben und in der IDE testen.


Heiko
Heiko
  Mit Zitat antworten Zitat
Agares

Registriert seit: 17. Sep 2008
Ort: Dortmund
6 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Programm unsichtbar starten

  Alt 29. Jun 2010, 12:55
Das Problem was du anscheinend hast ist, dass die anderen Komponenten die du auf das Form gelegt hast natürlich noch nicht initialisiert sind wenn du die Verarbeitung im OnCreate starten willst.

Ich hab schonmal gesehen dass jemand nen Timer auf das Form gelegt hat und in dessen OnTimer dann die Verarbeitung gestartet wurde.

frei nach dem Motto:

Delphi-Quellcode:
procedure TfrmMain.Timer1Timer(Sender: TObject);
begin
  Timer1.Enabled := false;
  //Starte Verarbeitung
end;
Dafür musst du einfach das enabled auf true setzen und als Intervall 500 ms oder so eingeben je nachdem wie lang das Form zum initialisieren brauch.

Ist vieleicht nicht die Feine Englische Art Funktioniert aber.
  Mit Zitat antworten Zitat
Benutzerbild von Bummi
Bummi

Registriert seit: 15. Jun 2010
Ort: Augsburg Bayern Süddeutschland
3.470 Beiträge
 
Delphi XE3 Enterprise
 
#5

AW: Programm unsichtbar starten

  Alt 29. Jun 2010, 13:04
Delphi-Quellcode:
procedure TForm5.FormActivate(Sender: TObject);
begin
   HideTimer.enabled := true;
end;

procedure TForm5.FormCreate(Sender: TObject);
begin
  Left := - Width ;
end;

procedure TForm5.HideTimerTimer(Sender: TObject);
begin
  HideTimer.enabled := false;
  Hide;
end;
Thomas Wassermann H₂♂
Das Problem steckt meistens zwischen den Ohren
DRY DRY KISS
H₂ (wenn bei meinen Snipplets nichts anderes angegeben ist Lizenz: WTFPL)

Geändert von mkinzler (30. Jun 2010 um 08:37 Uhr) Grund: Tag gefixt
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Programm unsichtbar starten

  Alt 29. Jun 2010, 13:23
Könnte man nicht einfach eine Konsolenanwendung nehmen und die Komponenten zur Laufzeit erzeugen?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#7

AW: Programm unsichtbar starten

  Alt 30. Jun 2010, 08:35
Könnte man nicht einfach eine Konsolenanwendung nehmen [...]
Muss ja nicht einmal eine Konsolenanwendung sein ...
Delphi-Quellcode:
program DemoProject;

uses
  ...;

begin
  // Hier den Code einfügen.
end.
Das sollte sogar reichen. Dialogfelder und andere modale Formulare kann man trotzdem anzeigen, wenn man's braucht
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Programm unsichtbar starten

  Alt 30. Jun 2010, 08:55
Meinte ich eigentlich auch. Ich mach das immer über "Neu - Konsolenanwendung" und lösche dann die Zeile {$APPTYPE CONSOLE} wieder raus
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

AW: Programm unsichtbar starten

  Alt 30. Jun 2010, 09:12
Man sollte allerdings berücksichtigen, dass manche Komponenten das Application Objekt benötigen, wie zum Beispiel die Indies, welches man bei einer Konsolenanwendung nicht hat.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Programm unsichtbar starten

  Alt 30. Jun 2010, 09:17
Da hilft nur ausprobieren. Zumindest wäre es IMO einen Versuch wert, denn was soll ich den ganzen Forms-Ballast mitschleppen, wenn ich ihn gar nicht brauche?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  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 19:25 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