AGB  ·  Datenschutz  ·  Impressum  







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

Single-Form-Anwendung

Ein Thema von palmakunkel · begonnen am 7. Nov 2023 · letzter Beitrag vom 7. Nov 2023
Antwort Antwort
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Single-Form-Anwendung

  Alt 7. Nov 2023, 11:15
Ich würde es über eine Reiter-Anwendung regeln, 3 Reiter (Haupt, Konfiguration, Hilfe), somit kommen sich Messages nicht in die Quere und Du brauchst Dir keine Gedanken machen ob was dargestellt wird oder nicht.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
palmakunkel

Registriert seit: 3. Dez 2005
Ort: Coswig
18 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Single-Form-Anwendung

  Alt 7. Nov 2023, 12:22
Danke für die raschen Antworten!

@hoika: vielleicht ist das der Fehler: ich habe die beiden Forms an EIN Panel gebunden und nur visible geschaltet. Ich werde es testen...

@Edelfix: im Setup-Form im StringGrid1 onClick-> wird nicht diese Funktion angesprungen, sondern eine völlig andere im MainForm, völig sinnfrei.

@KodeZwerg: das hatte ich auch schon auf dem Schirm, aber das ist vom Aussehen her etwas vintage, dachte ich
Gunter Dickopf
sie passten gut zueinander - geometrisch gesehen
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Single-Form-Anwendung

  Alt 7. Nov 2023, 14:20
@KodeZwerg: das hatte ich auch schon auf dem Schirm, aber das ist vom Aussehen her etwas vintage, dachte ich
Du musst ja nicht die klassischen Reiter verwenden, das kannst Du auch über Knöpfe oder Bilder regeln, Hauptsache du hast den "Katalog" auf deinem Formular der intern die Seiten verwaltet.
Wie Du diese Seiten ansteuerst, ist komplett Dir überlassen.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
palmakunkel

Registriert seit: 3. Dez 2005
Ort: Coswig
18 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Single-Form-Anwendung

  Alt 7. Nov 2023, 16:32
@Jasocul: ja, sowas scheint plausibel. Ich habe jetzt auf die Anregung von hoika hin Frames probiert, das scheint zu funktionieren. Bin aber erst am Anfang. Wenn nicht werde ich doch zu den von Kodezwerg vorgeschlagenen Reitern greifen.
Danke nochmal an alle!
Gunter Dickopf
sie passten gut zueinander - geometrisch gesehen
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.367 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Single-Form-Anwendung

  Alt 7. Nov 2023, 12:24
Delphi-Quellcode:
procedure TFormLQMain.FormActivate(Sender: TObject);
begin
  FormLQSetup.Parent:=Panel1;
  FormLQSetlist.Parent:=Panel1;
end;
Das ging anfangs auch gut, jetzt werden im FormLQSetup Funktionen aus dem FormLQMain ausgelöst, die da gar nicht eingebunden sind. Offenbar kapert irgendwas im MainForm die Messages weg. Die Konstruktion ist also mit Sicherheit falsch, kann mir jemand sagen, wie man ein Single-Form-Anwendung grundlegend konzipiert?
Wenn ich mich richtig erinnere, dürfte das hier ein Problem der Z-Order sein.
Du weist allen Forms das selbe Parent zu. Jetzt wird irgendeine Funktion ausgelöst und die zentrale Form prüft, ob das für sie ist. Falls nicht, geht das gemäß Z-Order an die untergeordneten Objekte (bezogen auf die Parent-Zuordnung). Je nach Funktion kann die Eigenschaft "Visible" eine Rolle spielen oder nicht. Einfach Visiple auf Fals stellen genügt dann in einigen Fällen nicht.

Deine zentrale Form dürfte FormLQMain sein.
Normalerweise bekommt diese als erstes die Info, dass was gemacht werden soll (Es gibt weitere Dinge, die Einfluss nehmen können, führt hier jetzt aber zu weit). Passt es zu der Form, bekommen die untergeordneten Komponenten (also auch deine anderen Forms), das Ereignis nicht mehr mit, weil es bereits von der Hauptform abgearbeitet wurde. Das scheint gerade bei dir das Problem zu sein.

Wie kannst du das beheben:
Das hängt davon ab, was "gekapert" wurde und kann ich so pauschal nicht beantworten. Ich vermute, dass es um Menüpunkte o.ä. gehen könnte.
Grundsätzlich würde ich keine Forms in anderen Forms einbetten. Dafür sind Frames da.
Wenn du es so beibehalten willst, musst du bei jedem Wechsel dafür sorgen, dass die entsprechenden Funktionen, Ereignisse, ... im Kontext aktiviert oder deaktiviert werden. Je nach größe der Anwendung, kann das aufwändig werden und ist fehleranfällig.

Das ist aus der Erinnerung geschrieben und kann evtl. nicht 100%ig stimmen, da ich mit Z-Order-Problemen seit ewigen Zeiten nichts mehr zu tun hatte. Wer mich an der Stelle korrigieren will, soll sich nicht zurückhalten
Peter
  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 05:08 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 by Thomas Breitkreuz