AGB  ·  Datenschutz  ·  Impressum  







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

Anwendung ausserhalb des Hauptfensters beenden

Ein Thema von Jumpy · begonnen am 27. Apr 2011 · letzter Beitrag vom 28. Apr 2011
Antwort Antwort
Benutzerbild von ConnorMcLeod
ConnorMcLeod

Registriert seit: 13. Okt 2010
Ort: Bayern
490 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Anwendung ausserhalb des Hauptfensters beenden

  Alt 28. Apr 2011, 04:44
Ein PostMessage(Form1.Handle, WM_CLOSE, 0, 0); käme erst an die Reihe, wenn alles andere korrekt abgearbeitet ist. Dann noch ein caFree im OnClose und das Fenster ist weg vom Fenster. Vllt vor dem (zu vermeidenden) Anzeigen noch ein SetBounds(Screen.Width + 16, 0, 1, 1); ... und keiner hat's gesehen.
Das zur schnellen Lösung des akuten Problems.

Davon abgesehen kann man sich überlegen, wozu das Fenster notwendig ist und wozu nicht. Funktionelle Dinge ohne GUI kannst Du auslagern und einfach aufrufen, eben wie Initialisierungen und Aufräumen. Dann sparst Du Dir das Fenster vllt komplett.

HTH
  Mit Zitat antworten Zitat
FredlFesl

Registriert seit: 19. Apr 2011
293 Beiträge
 
Delphi 2009 Enterprise
 
#2

AW: Anwendung ausserhalb des Hauptfensters beenden

  Alt 28. Apr 2011, 07:02
Ich hab auch immer wieder Probleme damit. Gehabt. Mittlerweile mach ich das so im Hauptprogramm

Delphi-Quellcode:
Begin
  Application.Initialize;
  If ParamStr(1)='EINGABEThen
    With TEingabeformular.Create(nil) Do Begin
      ShowModal;
      Release;
    End
  Else Begin
    Applicatio.CreateForm(TMainForm, MainForm);
    Application.Run;
  End;
End.
  Mit Zitat antworten Zitat
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#3

AW: Anwendung ausserhalb des Hauptfensters beenden

  Alt 28. Apr 2011, 07:30
@FredlFesl:
Versteh ich das recht, das du das bereits in dem Codeblock des Projekts machst? Kann ich mal versuchen, hab ich noch nie was drin gemacht, hab immer alles schön so gelassen, wie die IDE das erstellt hat. Problem sind da aber auch wieder diese Meta-Objekte, die erstellt werden sollen und z.Zt. noch an der Main-Form hängen.

Vllt. nur zur Erklärung nochmal ausführlicher. Normalerweise startet im Programm die Main-Form. Die ist wenn man so will die Kommandozentrale des Programms, von der aus ich die einzelnen Teile starten kann, quasi das Hauptmenü. Beim Start der Main-Form werden dann halt auch diese (nicht GUI)-Meta-Objekte erzeugt (innerhalb einer Klasse Projekt). Diese enthalten u.a. Datanbank Connections, ein Log Objekt, ..., die dann Anwendungsweit zur Verfügung stehen und melden den Start des Programms in einer DB.
Von der Main-Form aus kann man diverse Dinge starten, u.a. die besagte Eingabemaske.

Für manche User, soll nun aber nur die Eingabemaske zu sehen sein, damit sie nicht verwirrt werden. Trotzdem sollen aber auch die Meta-Objekte erzeugt werden.


So ich werd jetzt mal loslegen eure Anregungen zu probieren und mich dann bei Erfolg melden und bei Mißerfolg sowieso

Edit:
Erfolg, zumindest teiweise. Connor's Post hat mich auf die Idee gebracht, das Hauptfenster nicht unsichtbar (und später wieder sichtbar) zu machen. Ich lass es einfach sichtbar und damit klappt es. Jetzt muss ich es nur noch klein machen oder außerhalb des Screens platzieren und keiner merkt, das es je da war.
Erklärt zwar nicht, wieso es vorher nicht lief, aber erstmal egal. Vllt. lief das alles zu schnell ab und das Fenster war noch nicht sichtbar, als es schon gekillt werden sollte, oder so.

Wenn jemand noch einen Verdacht hat, her damit, will ja was lernen.
Ansonsten: Danke nochmal an alle Helfer.
Ralph

Geändert von Jumpy (28. Apr 2011 um 07:39 Uhr) Grund: Erfolgsmeldung
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.675 Beiträge
 
Delphi 12 Athens
 
#4

AW: Anwendung ausserhalb des Hauptfensters beenden

  Alt 28. Apr 2011, 07:36
Die *.dpr enthält ja auch nur Quellcode. Wenn man weiß, was man tut, kann man sie natürlich bearbeiten (Rechtsklick in der Projektverwaltung auf das Projekt -> "Quelltext anzeigen").
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
Jumpy

Registriert seit: 9. Dez 2010
Ort: Mönchengladbach
1.740 Beiträge
 
Delphi 6 Enterprise
 
#5

AW: Anwendung ausserhalb des Hauptfensters beenden

  Alt 28. Apr 2011, 07:55
Wenn man weiß, was man tut, ...
Da ich das noch nicht genau weiß, hab ich da halt noch Respekt vor. Aber früher oder später werd ich mir das mal ansehen, aber OT gefragt:
Kann ich meine non-GUI-Meta-Objekte schon dort erzeugen und von anderen Forms/Units dann darauf zugreifen? Kann man da schon (globale) Variablen (für die Objekte) haben?
Ralph
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.675 Beiträge
 
Delphi 12 Athens
 
#6

AW: Anwendung ausserhalb des Hauptfensters beenden

  Alt 28. Apr 2011, 07:58
Sicher, wieso denn nicht?
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 23:57 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