AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi MDI Spezielles Child formular ansteuern

MDI Spezielles Child formular ansteuern

Offene Frage von "_seeker_"
Ein Thema von _seeker_ · begonnen am 30. Dez 2009 · letzter Beitrag vom 30. Dez 2009
Antwort Antwort
_seeker_

Registriert seit: 30. Dez 2009
2 Beiträge
 
#1

MDI Spezielles Child formular ansteuern

  Alt 30. Dez 2009, 13:47
Hallo ihr.

Ich habe ein Problem mit einem MDI Anwendung.
Es geht um folgendes:
Ich habe einen Form, in diesen Fall "Form1" als MDI-Form angelegt.
Nun habe ich über Datei -> Neu -> Formular einen neuen Formular erstellt und diesen mit den Option MDI-Child gesetzt
In Form1 befindet sich einen Socket-Komponennt diese kann ich wohl über Form2 ansprechen. Jedoch möchte ich auch gerne, dass der OnRead ereignis vom Socket auf Form1 auf labels, Textfelder von Form2 zugreifen kann. damit meine ich nicht das lesen, sondern das setzen.
Gedacht hätte ich folgendes:
Form2.label2.Caption := 'Blub'; jedenfalls sowas ähnlich jedoch ist dies nicht möglich.

Gibt es eine möglichkeit einen speziellen Formular anzusprechen?? Vorraussgesetz der ist geöffnet.

Ich hoffe ich konnte die Frage einigemaßen richtig formulieren.
Falls diesen Thema bereits behandelt wurde, dann bitte ich um Entschuldigung.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#2

Re: MDI Spezielles Child formular ansteuern

  Alt 30. Dez 2009, 15:56
Grüß dich,

ich habe das recht leicht geschafft. Und zwar habe ich mir gerade eine Form erzeugt mit fsMDIForm und eine weitere mit fsMDIChild. Dann habe ich folgendes bei Unit1 (MDIForm) geschrieben
Delphi-Quellcode:
implementation

uses Unit2; // <-- hier die wichtige Zeile

{$R *.dfm}
und folgendes in Unit2 (MDIChild):
Delphi-Quellcode:
implementation

uses Unit1; // <-- hier die wichtige Zeile

{$R *.dfm}
Was passiert hier nun? Und zwar ist in Unit1 ja die globale Variable Form1 definiert, auf welche ich dann in Unit2 zugreifen kann und umgekehrt. Das geht eben über das Verknüpfen der Units.

Allerdings ist diese Lösung nicht wirklich toll. Es sollte eher wie folgt sein: Deine MDI-Form sollte deine Unit2 und das MDI-Formular kennen. Das MDIChild sollte zwar beim Start erzeugt werden, aber nicht automatisch, sondern von der MDIForm (beim OnCreate z.B.). Das erzeugte Child kommt dann in eine private-(oder auch public)-Variable von der MDIForm und kann so von der MDIForm genutzt werden. Beim Erzeugen vom Child kannst du dem Child auch eine Referenz auf die MDIForm geben -- es muss also eine schreibbare Eigenschaft beim MDIChild geben. Über diese Referenz kannst du dann vom Child auf die MDIForm zugreifen. Das wäre eine (halbwegs) saubere Programmierung...
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
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 15:40 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