Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Delphi Anwendung im Hintergrund [Konsolanwendung oder VCL Formular] (https://www.delphipraxis.net/175405-anwendung-im-hintergrund-%5Bkonsolanwendung-oder-vcl-formular%5D.html)

Back2Code 19. Jun 2013 10:53

AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
 
Zitat:

Zitat von Olli73 (Beitrag 1219018)
Zitat:

Zitat von Polymorphin (Beitrag 1219011)
Ist es denn möglich die Komponenten von Indy trotzdem in der Konsolanwendung zu nutzen? Und wenn ja, wie erzeugt/erstellt man diese. Da man ja keinen Formulardesigner mehr hat, müsste man die propertys auch alle selber manuell ausfüllen nehme ich an, ansonsten gelten die Standardwerte oder?


Datei / Neu / weitere -> Webbroker / Web server Anwendung -> Konsolenanwendung

Das erstellt dir dann auch ein (Web)Modul für Einstellungen und (nicht sichtbare) Komponenten.

AH danke. Kann ich so ein Webmodul für nicht sichtbare Kompos auch im Nachhinein in eine Konsolanwendung adden?

Bernhard Geyer 19. Jun 2013 10:54

AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
 
Zitat:

Zitat von Polymorphin (Beitrag 1219007)
Zitat:

Zitat von baumina (Beitrag 1219006)
Zitat:

Zitat von Polymorphin (Beitrag 1219004)
Zitat:

Zitat von baumina (Beitrag 1219001)
Eigentlich müsste sich dafür eine Windows-Dienstanwendung (Service-Anwendung) anbieten.

Dafür sind dann aber auch Adminrechte notwendig, wenn es sich um keinen lokalen Administrator handelt oder?

Soviel ich weiß braucht man Adminrechte einmalig bei der Installation (Registrierung) des Dienstes, danach müsste es einfach so laufen können, ich weiß es aber nicht genau, sorry.

Ja gut, dann fällt diese Option aber weg für mich, da ich nicht weiß ob derjenige Admin Rechte hat.

Wenn deine Anforderung
Zitat:

Ich möchte gerne eine Anwendung im Hintergrund laufen lassen.
bedeutet das die Anwendung auch ohne angemeldeten User laufen soll geht es nur das ein (lokaler) Admin das Ding installiert.
Ansonsten ist es eine Trayanwendung auch wenn es im Tray nur ein "Beenden" und "Info"-Eintrag gibt.

jsheyer 19. Jun 2013 10:55

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

Aphton 19. Jun 2013 11:03

AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
 
Konsolenanwendung oder VCL?
Keines von beiden!

Standardkonsolenanwendung:
Delphi-Quellcode:
program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

begin
end.
Reine Anwendung:
Delphi-Quellcode:
program Project1;

uses
  SysUtils;

begin
end.
Folglich:
Delphi-Quellcode:
program Project1;

uses
  SysUtils, Windows;

begin
  while true do
  begin
    Sleep(5000);
    MessageBox(0, 'I exist', 'I', MB_ICONINFORMATION);
  end;
end.

Back2Code 19. Jun 2013 12:02

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.

p80286 19. Jun 2013 12:09

AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
 
@Aphton
und wo ist der Unterschied (abgesehen vom {$APPTYPE CONSOLE})?

Gruß
K-H

Ralf Kaiser 19. Jun 2013 12:15

AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
 
Zitat:

Zitat von Polymorphin (Beitrag 1219011)
Ist es denn möglich die Komponenten von Indy trotzdem in der Konsolanwendung zu nutzen? Und wenn ja, wie erzeugt/erstellt man diese. Da man ja keinen Formulardesigner mehr hat, müsste man die propertys auch alle selber manuell ausfüllen nehme ich an, ansonsten gelten die Standardwerte oder?

Füge der Anwendung ein Datenmodul hinzu das die Indy-Komponenten aufnimmt. Lediglich das Datenmodul musst du dann selbst erstellen. (dafür sind Datenmodule da! :wink:)

Namenloser 19. Jun 2013 12:22

AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
 
Zitat:

Zitat von p80286 (Beitrag 1219031)
und wo ist der Unterschied (abgesehen vom {$APPTYPE CONSOLE})?

Dadurch ändert sich irgendein Flag in der Exe und das Programm wird dann von Windows anders behandelt. Hauptsächlicher Unterschied: Mit AppType Console wird immer ein Konsolenfenster angezeigt, damit ist es schwierig, das Programm unsichtbar im Hintergrund auszuführen.

Back2Code 19. Jun 2013 12:30

AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
 
Zitat:

Zitat von Ralf Kaiser (Beitrag 1219032)
Zitat:

Zitat von Polymorphin (Beitrag 1219011)
Ist es denn möglich die Komponenten von Indy trotzdem in der Konsolanwendung zu nutzen? Und wenn ja, wie erzeugt/erstellt man diese. Da man ja keinen Formulardesigner mehr hat, müsste man die propertys auch alle selber manuell ausfüllen nehme ich an, ansonsten gelten die Standardwerte oder?

Füge der Anwendung ein Datenmodul hinzu das die Indy-Komponenten aufnimmt. Lediglich das Datenmodul musst du dann selbst erstellen. (dafür sind Datenmodule da! :wink:)

Ich sehe grade, dass durch das Datenmodul die Anwendung "utopisch" gewachsen ist im Release build 700 kb +. Wie würde das Gnaze dann aussehen wenn ich Indy nutzen möchte, ohne dass ich ein Datenmodul nutze und kann ich da mit einer kleineren Erzeugung rechnen?

baumina 19. Jun 2013 12:38

AW: Anwendung im Hintergrund [Konsolanwendung oder VCL Formular]
 
Zitat:

Zitat von Polymorphin (Beitrag 1219034)
Ich sehe grade, dass durch das Datenmodul die Anwendung "utopisch" gewachsen ist im Release build 700 kb +. Wie würde das Gnaze dann aussehen wenn ich Indy nutzen möchte, ohne dass ich ein Datenmodul nutze und kann ich da mit einer kleineren Erzeugung rechnen?

Ein DataModule hat eigentlich nur SysUtils und Classes in der uses-Liste. Die 2 Units wird Indy mit ziemlicher Sicherheit sowieso auch benutzen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:33 Uhr.
Seite 2 von 3     12 3      

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