AGB  ·  Datenschutz  ·  Impressum  







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

Form aus zweiter Unit erstellen.

Ein Thema von Zodi · begonnen am 24. Jul 2021 · letzter Beitrag vom 26. Jul 2021
Antwort Antwort
Delbor

Registriert seit: 8. Okt 2006
Ort: St.Gallen/Schweiz
1.192 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Form aus zweiter Unit erstellen.

  Alt 26. Jul 2021, 13:06
Hi Sinspin

Ich kenne einige Programme die ein Konsolenfenster haben und trotzdem eine normale Programmoberfläche. Das bekannteste ist wohl Blender.
Mein erster Gedanke war: Blender ist wohl kaum in Delphi programmiert. Abgesehen davon, dass teile eventuell doch mit Delphi erstellt wurden (DLG): Was hindert ein Delphi-VCL-Programm (oder FMX) daran, einen Prozess zu starten? Ob der nun in einer Konsole läuft oder als VCL/FMX-Anwendung, dürfte schon mal egal sein.

Die einzige Frage die sich mir stellt ist, was passiert wenn man ein Application object erstellt und das Hauptform erzeugt, ob das den Consolenoutput zerhaut.
Aber probieren geht über studieren!
Oder auch anders: was nicht wirklich läuft, kann nichts schreddern. Und ob wirklich beides in ein und demselben Prozess laufen kann, bezweifle ich stark.
Inzwischen hab ich himitsus Beitrag gesehen, und da wurde ja offensichtlich das Gegenteil bewiesen.

Gruss
Delbor
Roger
Man muss und kann nicht alles wissen - man muss nur wissen, wo es steht.
Frei nach Albert Einstein
http://roase.ch
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.410 Beiträge
 
Delphi 12 Athens
 
#2

AW: Form aus zweiter Unit erstellen.

  Alt 26. Jul 2021, 15:17
{$APPTYPE CONSOLE} setzt bloß ein Flag im PE-Header der EXE,
womit Windows automatisch STDIN/STDOUT/ERROUT mit der aufrufenden Console verknüpft und wenn es noch keine Konsole gibt, dann wird automatisch eine erstellt.

Mit AllocConsole/AttachConsole/FreeConsole kann man die Konsole auch selbst erstellen oder darauf zugreifen sich damit verbinden (wenn schon da).


Genauso kann man auch gleichzeitig VCL und FMX nutzen.

Man muß dafür nur die fehlenden Dinge selbst initialisieren (Application.Initialize) und im Falle der ConsoleApp auch die MessageQueue abarbeiten (das was Application.Run oder .ProcessMessages macht)
Ein Therapeut entspricht 1024 Gigapeut.

Geändert von himitsu (26. Jul 2021 um 15:21 Uhr)
  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 21:50 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