![]() |
Delphi-Version: 10 Seattle
Programm ohne Formular
Hey Leute,
Ich habe schon einige Programme mit Formularen geschrieben, so auch ein Programm, welches aber garkeine benötigt. Ich kenne mich mit dem programmieren ohne Formular so garnicht aus und ich würde gerne nicht einfach nur die Mainform unsichtbar machen, sondern das Programm in eine Unit, ganz ohne Formular, rein programmieren.
Code:
Nochmal vorab wie gesagt: Ich habe das noch nie gemacht und habe dem entsprechend Ahnung (keine :oops: )
unit Unit1;
interface implementation end. Könnt Ihr mir sagen: -wie ich ein Code zu Beginn (create) ausführe, also wenn ich die Unit öffne -beim schließen der unit -ob ich einen type brauche und welchen? -wie ich einen Timer mache Vielen Dank erstmal :) |
AW: Programm ohne Formular
Das Stichwort heißt hier Consolen-Programm. Das hat keine Formulare, nur eine "Main" Prozedur, in der der Programmablauf festgelegt wird.
|
AW: Programm ohne Formular
Was du suchst ist ein DatenModul statt einem Formular. Das ist wie ein Formular ohne Oberfläche, du kannst dort auch direkt Timer platzieren wie du es gewohnt bist.
|
AW: Programm ohne Formular
Das ist glaube ich nicht was ich suche,
Im Konsolenprogramm, sowie im Datenmodul wird die Konsole aufgerufen. Ich möchte aber kein Fenster,kein Formular und keine Konsole bei meinem Programm offen haben. Ich reagiere eigentlich nur auf Tastatur und auf das Öffnen anderer Programme |
AW: Programm ohne Formular
Man kann praktisch jedes Programm in einen Dienst umwandeln (NSSM) dann läuft es unsichtbar. Wie ein unsichtbares Programm auf Tastatureingaben reagieren soll, ist mir allerdings etwas unklar.
|
AW: Programm ohne Formular
Suchst du sowas wie einen Windows-Dienst/Service?
Dann wird's aber nicht so einfach mit der Tastatur-Eingabe. |
AW: Programm ohne Formular
Zitat:
Fertig. Dein Datenmodul kann die Anwendung z.B. selbst einfach durch
Delphi-Quellcode:
beenden
Application.Terminate()
|
AW: Programm ohne Formular
Tja, wenn Du kein Fenster hast bekommst Du auch keinen Focus.
Da helfen dann sogenannte Hooks. Ich verlinke hier mal auf: ![]() Dann muss Du auch noch dafür sorgen dass Deine Anwendung selber eine Event-Schleife hat, Stichwort AllocateHWnd |
AW: Programm ohne Formular
Vielen Dank ich probier mal rum :) Ich bin mir irgendwie unsicher, ob das im Endeffekt nun einen Unterschied macht, ob ich eine VCL mit unsichtbarer Form oder ein Datenmodul nehme, das ja eigentlich auch sowas wie eine unsichtbare Form hat.
|
AW: Programm ohne Formular
Das "Formular" bei einem Datenmodul ist nur eine optische Hilfe für dich damit du deine bunten Vierecke (Timer, TCP-Client, DataSet, ...) da drauf ziehen kannst. Es ist kein Formular dass du deinem Benutzer irgendwie anzeigen könntest.
Ohne großen Aufwand müsste die Anwendung somit auch auf Linux und MacOS laufen (natürlich abhängig von den platform-spezifischen Dingen deines Codes). |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:14 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