![]() |
Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Das ist jetzt eher eine allgemeine Frage. Ich möchte gerne eine Anwendung im Hintergrund laufen lassen. Es gibt keinerlei Inputmöglichkeiten / Einstellungen. Also eine GUI brauche ich sowieso nicht.
Meine Frage ist jetzt was sich besser verhält bzw besser dafür geeignet wäre. Eine Konsolanwendung oder eine VCL Formularanwendung. In beiden Fällen würde ich mich dann als erstes darum kümmern, dass man weder eine Form / noch Konsole sieht, da es wie gesagt einfach im Hintergrund laufen soll. Später wollte ich dann noch Indy mit implementieren um Strings per HTTP auszulesen / zu senden. Eine kleine Antwort + Begründung weil würde mir schon weiterhelfen. Danke im voraus. :thumb: |
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Ich bin kein Experte, aber spontan wäre ich erst einmal direkt den VCL-Weg gegangen. Irgendwann brauchst du vielleicht doch eine Oberfläche. Einen TTimer hast du in einer Konsolenanwendung auch nicht.
|
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Zitat:
|
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Eigentlich müsste sich dafür eine Windows-Dienstanwendung (Service-Anwendung) anbieten.
|
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Zitat:
|
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Zitat:
|
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Zitat:
|
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Warum verschwendest Du nur einen Gedanken an eine "Form"-Anwendung?
Wenn Du die Windows Message Queue nicht abarbeiten willst/mußt, ist die Konsole vollkommen ausreichend. Gruß K-H |
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Zitat:
|
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Zitat:
Datei / Neu / weitere -> Webbroker / Web server Anwendung -> Konsolenanwendung Das erstellt dir dann auch ein (Web)Modul für Einstellungen und (nicht sichtbare) Komponenten. |
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Zitat:
|
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Zitat:
Zitat:
Ansonsten ist es eine Trayanwendung auch wenn es im Tray nur ein "Beenden" und "Info"-Eintrag gibt. |
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Ausserdem kann man in einer Konsolenanwendung alle nicht visuelle Komponenten verwenden.
Es reicht einfach ein Datenmodul hinzuzufügen, und dort können alle nicht visuellen Komponenten direkt darauf plaziert werden. Alternativ muss man die uses Anweisung manuell erweitern und die benötigten Komponenten per Quelltext zur Laufzeit erzeugen. :-) Gruß Jörg |
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Konsolenanwendung oder VCL?
Keines von beiden! Standardkonsolenanwendung:
Delphi-Quellcode:
Reine Anwendung:
program Project1;
{$APPTYPE CONSOLE} uses SysUtils; begin end.
Delphi-Quellcode:
Folglich:
program Project1;
uses SysUtils; begin end.
Delphi-Quellcode:
program Project1;
uses SysUtils, Windows; begin while true do begin Sleep(5000); MessageBox(0, 'I exist', 'I', MB_ICONINFORMATION); end; end. |
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Man lernt immer was dazu. Der Begriff reine Anwendung war mir bis eben fremd ;-) Hätt ich das vorher gewusst, hätte ich danach gleich gesucht oder anderst formuliert.
|
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
@Aphton
und wo ist der Unterschied (abgesehen vom {$APPTYPE CONSOLE})? Gruß K-H |
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Zitat:
|
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Zitat:
|
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Zitat:
|
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Zitat:
|
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
@NamenLozer
Danke für den Hinweis. Ich habe dann auch selbst ein wenig gewühlt. Es scheint so, daß über APPTYPE CONSOLE Input/Output der Console zugewiesen wird. Also müßte es auch so gehen:
Delphi-Quellcode:
Geht aber nicht, da die Gerätedatei nicht erkannt wird/falsch ist.
program Project2;
uses SysUtils; var name : string; io : textfile; begin assignfile(io,'\\.\CON'); // reset(io); WriteLn(io,'Please enter your name'); ReadLn(io,name); WriteLn(io,'Your name is '+name); WriteLn(io,''); WriteLn(io,'Press enter to exit'); ReadLn(io,name); end. Gruß K-H |
AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
Zitat:
Delphi-Quellcode:
program Iexist;
uses SysUtils, Windows; var i : Integer; procedure TimerProc(Wnd:HWnd;Msg,TimerID,dwTime:DWORD);stdcall; begin i:=i+20; end; begin i:=0; SetTimer(0,0,1000,@TimerProc); // 1 sec repeat inc(i); MessageBox(0, PWChar(IntToStr(i)), 'I exist!', MB_ICONINFORMATION); Sleep(5000); until i>100; // keine Angst: MessageBox erscheint nur 3x Halt(0); end. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:52 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