AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Mainform wird immer sichbar bei ShowModal

Ein Thema von Captnemo · begonnen am 11. Sep 2011 · letzter Beitrag vom 14. Sep 2011
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#1

Mainform wird immer sichbar bei ShowModal

  Alt 11. Sep 2011, 21:26
Hallo Leute,

mein Titel ist etwas verwirrend, aber ich weiß nicht wie ich mein Problem besser in einem Satz darstellen kann.

Problem ist folgendes: Ich hab eine Mainform, aus der ich eine Terminform bei bedarf erzeuge, damit mehrer Termine gleichzeitig geöffnet werden können. Das funktioniert auch problemlos. Nun rufe ich aber die eine oder andere weitere Form mit showmodal aus der Terminform auf. Immer wenn ich das tue, dann verschwindet meine Terminform vom Bildschirm, die Hauptform wird sichtbar und meine mit showmodal aufgerufene Form wird sichbar. Wird die modale Form jetzt geschlossen kommt meine Terminform wieder.

Wie kann ich verhindern, dass die Mainform in den Vordergrund kommt?

Mein Terminform erzeuge ich mit Application.CreateForm. Kann es daran liegen? ich habe schon versucht, die modale form aus der Terminform heraus zu erzeugen, ging auch aber mit dem gleichen Effekt. Weiß mir zur Zeit keinen Rat.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Mainform wird immer sichbar bei ShowModal

  Alt 12. Sep 2011, 07:32
Wieso CreateForm?
Nutze direkt TTerminForm.Create .
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#3

AW: Mainform wird immer sichbar bei ShowModal

  Alt 12. Sep 2011, 08:26
Hallo,

ich glaube ich hatte ein ähnliches Problem - allerdings mit Delphi 2007. Ich hatte damals den Eindruck gewonnen, dass dieses Problem mit Delphi 2009/2010 behoben war.
Knackpunkt ist wohl zum einem die Delhpiversion als auch Parameter wie Application.MainFormOnTaskbar := TRUE . Das sollte in der DPR bei neueren Projekten ziemlich am Anfang stehen. Bei mir habe ich mit Delphi 2007 keine Lösung gefunden, wohingegen neuere Delphiversionen gar keine Probleme zeigten.

Vielleicht hilft Dir das ja.

Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#4

AW: Mainform wird immer sichbar bei ShowModal

  Alt 12. Sep 2011, 22:48
Leider löst das alles mein Problem nicht. Auch bei einem TTerminForm.Create() muß ich einen Owner angeben, wobei es sich ja nur um die Mainform oder die Application handeln kann. Dann hab ich das gleich Ergebnis wie beim Application.Createform.

Auch das MainformOnTaskbar bringt nicht die erhoffte Lösung. Laut OH sollte der Wert ja auch True sein, da sonst keine Aero-Effekt nutzbar sind, welche aber schon sein sollten. Hat noch jemand irgendwelche Ideen?
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: Mainform wird immer sichbar bei ShowModal

  Alt 12. Sep 2011, 22:50
Leider löst das alles mein Problem nicht. Auch bei einem TTerminForm.Create() muß ich einen Owner angeben, wobei es sich ja nur um die Mainform oder die Application handeln kann. Dann hab ich das gleich Ergebnis wie beim Application.Createform.
Wieso muss man einen Owner angeben? Der Parameter ist Pflicht - ok - aber der Owner darf auch nil sein und das ist kein Owner
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Benutzerbild von mirage228
mirage228

Registriert seit: 23. Mär 2003
Ort: Münster
3.750 Beiträge
 
Delphi 2010 Professional
 
#6

AW: Mainform wird immer sichbar bei ShowModal

  Alt 12. Sep 2011, 22:51
Wenn Du das Form selbst wieder freigeben möchtest, dann versuch mal nil als Owner zu übergeben.

[Edit] Kein roter Kasten
David F.

May the source be with you, stranger.
PHP Inspection Unit (Delphi-Unit zum Analysieren von PHP Code)
  Mit Zitat antworten Zitat
Benutzerbild von ChrisE
ChrisE

Registriert seit: 15. Feb 2006
Ort: Hechingen
504 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Mainform wird immer sichbar bei ShowModal

  Alt 13. Sep 2011, 07:23
Hallo Captnemo,
Auch das MainformOnTaskbar bringt nicht die erhoffte Lösung. Laut OH sollte der Wert ja auch True sein, da sonst keine Aero-Effekt nutzbar sind...
Naja, also die Aero-Effekte bestehen aus vielen Dingen. Ein Manifest löst eigentlich erstmal die meisten Designprobleme. MainFormOnTaskbar ist nicht so 100% wichtig - aber ich verstehe Dich

Versuch mal mit dem Parameter
Delphi-Quellcode:
Application.MainFormOnTaskbar := FALSE/TRUE;
Application.ModalPopupMode := pmNone/pmAuto/pmExplicit;
ein wenig zu spielen. Meines Erachtens dürfte sich dadurch Dein Problem lösen lassen.

Ich brauch hier bei meinem D2007 FALSE und pmNone . Ich Denke dass bei Deinem D2010 TRUE und pmNone genauso funktionieren sollte

Gruß, Chris
Christian E.
Es gibt 10 Arten von Menschen, die die Binär lesen können und die die es nicht können

Delphi programming rules
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#8

AW: Mainform wird immer sichbar bei ShowModal

  Alt 13. Sep 2011, 07:50
Wieso muss man einen Owner angeben? Der Parameter ist Pflicht - ok - aber der Owner darf auch nil sein und das ist kein Owner
Grrr....auf die Idee bin ich noch gar nicht gekommen Werd ich mal ausprobieren, und meine Ergebnisse hier kundtun.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von Captnemo
Captnemo

Registriert seit: 27. Jan 2003
Ort: Bodenwerder
1.126 Beiträge
 
Delphi XE4 Architect
 
#9

AW: Mainform wird immer sichbar bei ShowModal

  Alt 13. Sep 2011, 08:09
Alsooooooo: TTerminform.Create(nil) hat nix an dem Verhalten geändert. (Jetzt stellt sich mir die Frage welche Auswirkungen, Vor- oder Nachteile, das angeben oder weglassen des Owners auf meine Application hat, denn mir sind keine Veränderungen aufgefallen).

Aber Application.ModalPopupMode:=pmExplicit scheint die Lösung zu sein. Zumindest verhält sich mein Programm jetzt so, wie ich es mir erhofft hatte. Ob es andere "Nebenwirkungen" hat, wird sich im weiteren Verlauf zeigen.
Dieter
9 von 10 Stimmen in meinem Kopf sagen ich bin nicht verrückt. Die 10. summt dazu die Melodie von Supermario Bros.
MfG Captnemo
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Mainform wird immer sichbar bei ShowModal

  Alt 13. Sep 2011, 08:48
Owner und Parent

Der Parent (bei den VCL-Komponenten) ist für die Darstellung zuständig, also worin die Komponente dargestellt wird.

Der Owner ist für die Freigabe zuständig.
Existiert das Objekt, wärend der Owner freigegeben wird, dann gibt der Owner die Komponente mit frei.

> Siehe die ganzen Komponenten, welcher über den VCL-Loader auf die Forms geladen wurden.
> Diese verschwinden mit, wenn man die Form freigibt.

Gibt man eine Komponente aber selber frei, dann braucht man nicht unbedingt einen Owner, bzw. der ist unter Umständen fehl am Platz.
Denn wenn man selber eine Komponente freigeben will, welche vorher von dem Owner schon weggeräumt wurde, dann knallt es gerne mal.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (14. Sep 2011 um 08:26 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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:42 Uhr.
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