AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Zirkularen Bezug von zwei Forms wie vermeiden ?

Zirkularen Bezug von zwei Forms wie vermeiden ?

Offene Frage von "stahli"
Ein Thema von RWarnecke · begonnen am 31. Mai 2011 · letzter Beitrag vom 1. Jun 2011
Antwort Antwort
Seite 1 von 3  1 23   
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#1

Zirkularen Bezug von zwei Forms wie vermeiden ?

  Alt 31. Mai 2011, 18:51
Hallo zusammen,

ich habe zwei Formulare Form1 und Form2. Wenn ich jetzt bei Form2 das Parent auf Form1 setze, wird mir ja Form2 in Form1 angezeigt. Wenn jetzt Form2 bestimmte Elemente wie z.B. Buttons steueren soll (z.B. Aktivieren und Deaktivieren) muss ich ja einen zirkularen Bezug der beiden Units herstellen.

Kann ich das auch nich irgendwie anders realisieren ? Mir schwebt da zum Beispiel vor mit Messages oder bestimmten Events. Nur leider habe ich dazu keinen Denkansatz, was hier am besten ist.

Gruß
Rolf
Rolf Warnecke
App4Mission
  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
 
#2

AW: Zirkularen Bezug von zwei Forms wie vermeiden ?

  Alt 31. Mai 2011, 19:28
Du kannst die beiden Units kreuzweise im implementation Teil eintragen, dann tun die sich auch nichts
Problematisch wird es nur im Interface Teil
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 RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#3

AW: Zirkularen Bezug von zwei Forms wie vermeiden ?

  Alt 31. Mai 2011, 19:39
Hallo Sir Rufo,

danke für Deine Antwort. Mir ist gerade aufgefallen, ich habe noch etwas vergessen bei meiner Ausführung. Die Buttons sollen auch bestimmte Aktionen in der Form2 steuern. Deswegen der zirkulare Bezug.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Zirkularen Bezug von zwei Forms wie vermeiden ?

  Alt 31. Mai 2011, 20:12
Nur wenn du im Implenentations-Teil Deklarationen der anderen Unit benötigst oder in Initialisation/Finalization was von drüben verwendest, muß diese Unit in Implementation importiert werden.
Ansonten kann man sie halt auch erst in Implementation importieren und dort gibt es keine Probleme mit zirkulären Referenzen (für den Compiler).
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 ConnorMcLeod
ConnorMcLeod

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

AW: Zirkularen Bezug von zwei Forms wie vermeiden ?

  Alt 31. Mai 2011, 20:13
Mach eine dritte Unit mit Hilfsfunktionen, die die Komponenten und Werte als Parameter hat.
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

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

AW: Zirkularen Bezug von zwei Forms wie vermeiden ?

  Alt 31. Mai 2011, 20:20
Mach eine dritte Unit mit Hilfsfunktionen, die die Komponenten und Werte als Parameter hat.
Bzw. gleich die ganze Logik dort rein.

Der Button und der Aufruf aus der anderen Unit/Form rufen dann einfach direkt die gewünschte Funktion auf.
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 RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#7

AW: Zirkularen Bezug von zwei Forms wie vermeiden ?

  Alt 31. Mai 2011, 20:24
Mach eine dritte Unit mit Hilfsfunktionen, die die Komponenten und Werte als Parameter hat.
Die Idee hört sich interessant an. Nur kann ich mir noch nicht vorstellen, wie ich das Aktivieren oder Deaktivieren eines Buttons über eine dritte Hilfsunit steuern kann. Ich müsste in der Hilfsunit für jede Aktion die ich machen möchte eine eigene Procedure schreiben.

Mach eine dritte Unit mit Hilfsfunktionen, die die Komponenten und Werte als Parameter hat.
Bzw. gleich die ganze Logik dort rein.
Der Button und der Aufruf aus der anderen Unit/Form rufen dann einfach direkt die gewünschte Funktion auf.
Ähm, da komme ich mal wieder nicht mit. Ich habe doch die Buttons in der Form1, wie soll ich denn die Logik der Komponenten in die Hilfsunit auslagern. Das einzigste was ich mir gerade vorstellen kann, wäre die Komponenten (Buttons u.s.w.) zur Laufzeit zu erstellen. Liege ich da mit meiner Vorstellung richtig ?
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von ConnorMcLeod
ConnorMcLeod

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

AW: Zirkularen Bezug von zwei Forms wie vermeiden ?

  Alt 31. Mai 2011, 21:13
Delphi-Quellcode:
procedure tuwas(var AButton: TButton);
begin
  AButton.Caption := 'helloworld';
end;

procedure tuwasanderes(var AButton: TButton; const AText: string);
begin
  AButton.Caption := 'helloworld';
  AButton.Hint := AText;
end;
So einfach ist das.
Nr.1 Delphi-Tool: [F7]

Geändert von ConnorMcLeod (31. Mai 2011 um 21:35 Uhr)
  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
 
#9

AW: Zirkularen Bezug von zwei Forms wie vermeiden ?

  Alt 31. Mai 2011, 22:45
äh, wozu übergibst du die Objekt-Referenz als var Parameter?

Das wäre ja ein Hinweis, dass in der Procedere die Objekt-Referenz verändert werden könnte.
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 ConnorMcLeod
ConnorMcLeod

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

AW: Zirkularen Bezug von zwei Forms wie vermeiden ?

  Alt 1. Jun 2011, 08:19
Eben drum. Das ist ja der Sinn der ganzen Übung.
Nr.1 Delphi-Tool: [F7]
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

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 09:25 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