AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Kein direkter Zugriff auf Framekomponenten?
Thema durchsuchen
Ansicht
Themen-Optionen

Kein direkter Zugriff auf Framekomponenten?

Ein Thema von Salomon · begonnen am 16. Mär 2007 · letzter Beitrag vom 16. Mär 2007
Antwort Antwort
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#1

Kein direkter Zugriff auf Framekomponenten?

  Alt 16. Mär 2007, 07:58
Moin zusammen,
warum kann ich nicht direkt von einem Frame auf die Komponenten eines anderen Frames zugreifen?

Beispiel:

Form1 - Unit 1
Frame2 - unit 2
Frame3 - Unit 3

z.b. geht in Unit2 nicht folgendes:
Frame3.label1.caption := 'bla'; Ich muss dann immer den "Umweg" über die Form wo der Frame drauf angezeigt wird nehmen. z.B.
Form1.Frame3.label1.caption := 'bla'; Warum ist das so?

Thanx
Marcus
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Benutzerbild von sirius
sirius

Registriert seit: 3. Jan 2007
Ort: Dresden
3.443 Beiträge
 
Delphi 7 Enterprise
 
#2

Re: Kein direkter Zugriff auf Framekomponenten?

  Alt 16. Mär 2007, 08:02
Weil in der Unit 3 nur die Klasse implementiert wird. Die Unit hat aber keine Variable/Zeiger auf diese Klasse. Diesen bekommt erst das Formular indem du das Frame einbindest. du kannst es ja auch mehrmals einbinden, in verschiedene Formulare mit verschiedenen Eigenschaften.
Dieser Beitrag ist für Jugendliche unter 18 Jahren nicht geeignet.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: Kein direkter Zugriff auf Framekomponenten?

  Alt 16. Mär 2007, 08:03
Stell dir vor du hast Frame3 auf 2 verschiedenen Formularen liegen (was ja möglich ist und auch ein Grund für die Einführung von Frames war)? Welcher Instanz von Frame3 soll den nun verwendet werden?

Grundsätzlich scheind es das du einige Grundkonzepte von Objektorientierung noch nicht verstanden hast.
Der Zugriff auf Form1. ... funktioniert auch nur wenn Form1 per automatische Formularerstellung erstellt wurde. Ansonsten kracht es.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#4

Re: Kein direkter Zugriff auf Framekomponenten?

  Alt 16. Mär 2007, 08:57
@Bernhard Geyer: Was Objektorientierte Programmierung ist, ist mir von den Grundlagen her klar. In der Praxis fehlt mir da noch die Übung. Jetzt ist die Sache aber schon klarer. Der Frame wird ja in der Klassendefinition der Form1 eingebunden.

Danke euch beiden!
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  Mit Zitat antworten Zitat
Benutzerbild von yörsch
yörsch

Registriert seit: 10. Jan 2007
Ort: Lampertheim
206 Beiträge
 
Delphi XE2 Architect
 
#5

Re: Kein direkter Zugriff auf Framekomponenten?

  Alt 16. Mär 2007, 09:34
Es ist wohl der unterschied zwischen Klasse und Instanz auf den es hier an kommt!
Ob da visuelle komponenten beteiligt sind, ist völlig egal...
Jörg
have FUN
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Kein direkter Zugriff auf Framekomponenten?

  Alt 16. Mär 2007, 09:39
Zitat von Salomon:
In der Praxis fehlt mir da noch die Übung. Jetzt ist die Sache aber schon klarer. Der Frame wird ja in der Klassendefinition der Form1 eingebunden.
Das Problem das viele haben ist auch das Delphi hier viel abnimmt und im Hintergrund erledigt. Einer dieser Erleichterungen ist die automatische Erstellung von Formularen mit versorgung der FormXXX-Variable. Es ist nicht gerade selten das diese globalen Variablen kreuz und quer im Projekt verwendet werden und bei umstellung auf einem etwas dynamischeren Programmaufbau (erstellung Formulare nur bei bedarf oder mehrere Instanzen) kracht es an Tausend stellen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Salomon
Salomon

Registriert seit: 9. Jun 2002
453 Beiträge
 
#7

Re: Kein direkter Zugriff auf Framekomponenten?

  Alt 16. Mär 2007, 10:39
@Bernhard Geyer: Das stimmt. Bei meheren Forms funktioniert das automatisch. Aber nur weil Delphi hier vorarbeit leistet.

@yörsch: Ich muss ja auf die eine Instanz des Frames zugreifen, die im Beispiel die Form1 erzeugt hat, da auf ihr die visuelle Frame Komponente liegt. Irgendwie habe ich gar nicht daran gedacht das ich ja mehrere Instanzen des Frames erzeugen kann, da ich den Frame nur auf einer Form verwende...
01001000 01100001 01101100 01101100 01101111
01010111 01100101 01101100 01110100 00100001

http://www.it-adviser.net
  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 03:06 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