AGB  ·  Datenschutz  ·  Impressum  







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

Zugriff auf Frame-Objekte

Ein Thema von Dennis07 · begonnen am 16. Mai 2012 · letzter Beitrag vom 21. Mai 2012
Antwort Antwort
Seite 2 von 3     12 3      
Benutzerbild von Ralf Kaiser
Ralf Kaiser

Registriert seit: 21. Mär 2005
Ort: Wuppertal
932 Beiträge
 
Delphi 10.3 Rio
 
#11

AW: Zugriff auf Frame-Objekte

  Alt 19. Mai 2012, 00:37
Hi,

Wenn du in deiner Frame-Klasse z.B. einen Button Namens "Button1" hast dann kannst du mit einem Code wie diesem definitiv die Beschriftung setzen:

Delphi-Quellcode:

DeineFrameInstanz.Button1.Caption := 'Wuppdi';
// "DeineFrameInstanz" muss vom korrekten Datentyp sein!
// Es darf sich also nicht nur um ein TFrame handeln, sondern
// es muss ein TDeineFrameKlasse sein!
Falls das bei dir nicht funktioniert, dann zeigt doch bitte mal, wie du es versuchst (ohne den Code zu sehen, ist das ganze für die Leute hier bestenfalls ein Ratespiel)

Allerdings ist der direkte Zugriff auf die Komponenten kein guter Stil! Besser ist es, eine Methode in dem Frameobjekt zu erstellen die den gewünschten Sprachwechsel durchführt (diese Methode greift dann ganz normal auf die Komponenten zu). Von außen wird dann nur noch diese Methode aufgerufen, statt alle Komponenten von außen einzeln anzusprechen.

Ciao,
Ralf
Ralf Kaiser

Geändert von Ralf Kaiser (19. Mai 2012 um 00:44 Uhr)
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
485 Beiträge
 
Delphi 11 Alexandria
 
#12

AW: Zugriff auf Frame-Objekte

  Alt 19. Mai 2012, 14:11
Das habe ich auch vor, allerdings wollte ich euch nicht direkt mit der Sache so konfrontieren, weil es vom Prinzip her ja das selbe ist, ob ich eine Methode oder ein Objekt anspreche.
Also, hier die relevanten Teile des Codes:

Delphi-Quellcode:
{ Beim erstellen des Forms wird eine Instanz von frWelcome (dem Frame, das ich in der D.E. erstellt habe) erstellt }
Frame_Welcome := TfrWelcome.Create(fmUpdater);
with Frame_Welcome do
begin
  Parent := fmUpdater;
  Top := 40;
  Visible := False;
end;

{ Selbstverständlich habe ich die Unit des Frames in die Uses-Klausel eingebunden }
interface

uses
  uWelcome,

{ Die Unit des Frames enthält folgende Prozedur, die es ermöglicht, die Captions zu ändern }
procedure TfrWelcome.ChangeLanguage(Ger: Boolean);
begin
  if Ger = True then
  begin
    laHeader.Caption := '...';
    laText.Caption := '...';
  end else
  begin
    laHeader.Caption := '...';
    laText.Caption := '...';
  end;
end;

{ Logischer Weise muss die Prozedur also ansprechbar sein... }
Frame_Welcome.ChangeLanguage(True);

{ ...ist sie aber nicht. Wieso? }
Dennis
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#13

AW: Zugriff auf Frame-Objekte

  Alt 19. Mai 2012, 18:18
Hi,

sagst Du uns auch noch was für eine Fehlermeldung kommt und wann und wo oder sollen wir raten anfangen?

Grüße
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
485 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Zugriff auf Frame-Objekte

  Alt 19. Mai 2012, 19:36
Wenn ich ein Objekt auf dem Frame ansprechen will, kommt die Fehlermeldung, dass dieses nicht gefunden werden könne.
Wenn dus genauer Wissen willst:
Code:
[Fehler] MeineHauptUnit.pas(108): Undefinierter Bezeichner: 'ChangeLanguage'
Dennis
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.380 Beiträge
 
Delphi 10.3 Rio
 
#15

AW: Zugriff auf Frame-Objekte

  Alt 19. Mai 2012, 20:28
OK, und wo wurde die Methode definiert? Public, private, published? Zeig mal den entsprechenden Teil der KLassendefinition des Frames...
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
485 Beiträge
 
Delphi 11 Alexandria
 
#16

AW: Zugriff auf Frame-Objekte

  Alt 19. Mai 2012, 21:42
Hallo,
Ich habe es mit der Definition in der Klasse selber und in der Public-Sektion verusucht - Dasselbe Resultat...
Dennis
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zugriff auf Frame-Objekte

  Alt 20. Mai 2012, 04:05
Und wie ist die Variable Frame_Welcome deklariert?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
485 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Zugriff auf Frame-Objekte

  Alt 20. Mai 2012, 11:21
Das selbe....
Zur Zeit habe ich es unter 'Private' stehen, unter 'Public' kommt aber genau der selbe Fehler.
Dennis
  Mit Zitat antworten Zitat
Furtbichler
(Gast)

n/a Beiträge
 
#19

AW: Zugriff auf Frame-Objekte

  Alt 20. Mai 2012, 13:09
Man Dennis, das ist so banal. Zeig einfach den Code, dann sieht man es sofort.
Delphi-Quellcode:
Type
  TMyFrame = Clas (TFrame)
  ...
  public
    Procedure ChangeLanguage();
  ...
  end;
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zugriff auf Frame-Objekte

  Alt 20. Mai 2012, 14:51
Und wie ist die Variable Frame_Welcome deklariert?
Antwort?
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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:34 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