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
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.403 Beiträge
 
Delphi 10.4 Sydney
 
#1

AW: Zugriff auf Frame-Objekte

  Alt 19. Mai 2012, 19: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
496 Beiträge
 
Delphi 12 Athens
 
#2

AW: Zugriff auf Frame-Objekte

  Alt 19. Mai 2012, 20: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.540 Beiträge
 
Delphi 12 Athens
 
#3

AW: Zugriff auf Frame-Objekte

  Alt 20. Mai 2012, 03:05
Und wie ist die Variable Frame_Welcome deklariert?
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
496 Beiträge
 
Delphi 12 Athens
 
#4

AW: Zugriff auf Frame-Objekte

  Alt 20. Mai 2012, 10: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
 
#5

AW: Zugriff auf Frame-Objekte

  Alt 20. Mai 2012, 12: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
Dennis07

Registriert seit: 19. Sep 2011
Ort: Deutschland
496 Beiträge
 
Delphi 12 Athens
 
#6

AW: Zugriff auf Frame-Objekte

  Alt 20. Mai 2012, 17:22
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;
Das habe ich auch schon probiert, es funktioniert nicht, und das aus 3 Gründen.
  1. Wenn ich die Methode "Public" mache, muss ich alle der Objekte aktualisieren, das wäre aber nur eine Frage des Auswand, würde ich sogar in Kauf nehmen
  2. Nachdem ich die Objektnamen geändert habe (also von "Button1" auf "MyFrame.Button1") und das ganze kompiliere, kommt die Frage, ob ich uMyFrame in uMyFrame einbinden will, was ja sowieso schon mal blödsinn ist. Wenn ich auf "Ja" klicke und neu starte, kommt die fehlermeldung, dass ich eine Unit nicht in sich selber einbinden könne (was ja auch logisch ist)
  3. Naja, ein drittes Problem wäre, dass ich insgesamt 5 Frames habe, und jedes eine "ChangeLanguage"-Prozedur hat. Diese will ich von der Haupt-Unit nacheinander brav aufrufen, deshalb die dekleration innerhalb des Frames

Hier der Header meiner Haupt-Unit:
Delphi-Quellcode:
unit uUpdater;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls, ExtCtrls, ThemeMgr, IniFiles,
  uWelcome, uLicense, uProgress, uFinish;

type
  TfmUpdater = class(TForm)
    pnSettings: TPanel;
    coLanguage: TComboBox;
    laLanguage: TLabel;
    pnButtons: TPanel;
    btCancel: TButton;
    btInstall: TButton;
    laCopyright: TLabel;
    ThemeManager1: TThemeManager;
    procedure Step(StepID: Integer);
    procedure ChangeLanguage;
    procedure FormCreate(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure coLanguageChange(Sender: TObject);
  private
    { Private-Deklarationen }
    Frame_Welcome: TFrame;
    Frame_License: TFrame;
    Frame_Progress: TFrame;
    Frame_Finish: TFrame;

    LangIsGer: Boolean;
    CurrentStep: Integer;
  public
    { Public-Deklarationen }
    Next: String;
    Install: String;
    Finish: String;

    Msg_Cancel: String;
  end;
Hier der Header einer meiner Frame-Units:
Delphi-Quellcode:
unit uLicense;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  StdCtrls, ComCtrls;

type
  TfrLicense = class(TFrame)
    laHeader: TLabel;
    reLicense: TRichEdit;
    rbAgree: TRadioButton;
    rbDecline: TRadioButton;
    procedure ChangeLanguage(Ger: Boolean);
    procedure rbAgreeClick(Sender: TObject);
    procedure rbDeclineClick(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

implementation

uses uUpdater;
Dennis
  Mit Zitat antworten Zitat
daywalker9

Registriert seit: 1. Jan 2010
Ort: Leer
594 Beiträge
 
Delphi XE3 Professional
 
#7

AW: Zugriff auf Frame-Objekte

  Alt 20. Mai 2012, 17:30
Das klappt natürlich nicht weil du deine Variablen alle als TFrame deklariert hast.


Ändere einfach deine Deklaration von TFrame auf TWelcomeFrame (oder was auch immer)
Lars
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

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

AW: Zugriff auf Frame-Objekte

  Alt 20. Mai 2012, 13:51
Und wie ist die Variable Frame_Welcome deklariert?
Antwort?
Ein Therapeut entspricht 1024 Gigapeut.
  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 16:20 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-2025 by Thomas Breitkreuz