![]() |
AW: Zugriff auf Frame-Objekte
Zitat:
Hier der Header meiner Haupt-Unit:
Delphi-Quellcode:
Hier der Header einer meiner Frame-Units:
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;
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; |
AW: Zugriff auf Frame-Objekte
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) |
AW: Zugriff auf Frame-Objekte
Ich frage mich ernsthaft, warum du das Rad neu erfinden musst...
MfG Dalai |
AW: Zugriff auf Frame-Objekte
Schön, daß das nun endlich mal geklärt ist. (hat auch lange genug gedauert)
Denn genau deswegen hatte ich danach gefragt. Zitat:
|
AW: Zugriff auf Frame-Objekte
Müsste es nicht reichen, den Befehl
Delphi-Quellcode:
zu geben??
Frame_123 := TMyFrame.Create
|
AW: Zugriff auf Frame-Objekte
Zitat:
|
AW: Zugriff auf Frame-Objekte
Nur noch ergänzend:
Frame_123 ist ein Zeiger auf eine Speicherstelle. Der Compiler interpretiert diese als TFrame da Du das so angegeben hast. Willst Du das Objekt in anderer Form nutzen, musst Du casten:
Delphi-Quellcode:
Das ist natürlich etwas umständlich und sollte vermieden werden.
Frame_123: TFrame;
... Frame_123 := TMyFrame.Create; ... if Frame_123 is TMyFrame then (Frame_123 as TMyFrame).DoSpezial; |
AW: Zugriff auf Frame-Objekte
Hi Leute,
Danke für eure Hilfe, jetzt funktioniert alles. mfg |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:27 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