![]() |
Von Methode in eigene Klasse auf Form1 zugreifen.
Hallo,
ich habe mal eine Frage. Ich habe mir eine kleine Klasse in einer neuen Unit geschrieben. Jetzt will ich in dieser Klasse mit einer Methode auf mein Hauptformular zugreifen. Hauptformular --> Form1. Meine Frage ist jetzt wie ich das machen kann??? Ich habe im Internet gelesen das man sowas vieleicht mit Vererbung machen kann. Ist es wirklich so??? Achso, die Methode in meiner Klasse soll auf meinem Hauptformular einen Frame ausblenden. Frame1.Visible:=False; So das war jetzt auch schon alles. MFG Christian18 |
Re: Von Methode in eigene Klasse auf Form1 zugreifen.
Hallo Christian18!
Wieso sollte das nicht gehen. Hier mein Vorschlag.
Delphi-Quellcode:
Maximalen Erfolg wünscht
type
TForm1 = class(TForm) private FProp: Integer; public procedure DoSomething; preoperty aProp: Integer read FProp write FProp; end; TMyClass = class procedure CallFormMethod; end; procedure TMyClass.CallFormmethod; begin Form1 := TForm1.Create(self); //Kann sein, das Du das hier vergessen hast!!!!!!!!!!!!!! Form1.DoSomething; Form1.aProp := 5; end; Delphifan2004 |
Re: Von Methode in eigene Klasse auf Form1 zugreifen.
da wird Dir sicher jeder was anderes als Lösung anbieten, denn da gibts verschiedene Möglichkeiten.
die einfachste: du greifst in deiner Klasse einfach auf die Variable Form1 zu.... das ist ziemlich unschön, da Deine Klasse sonst nur in diesem speziellen Programm laufen würde. etwas spezieller: du übergibst Deiner Klasse das Form1 als Owner (beim constructor create(AOwner: TForm1) ) dann hast du die Variable in Deiner klasse verfügbar... brauchst aber immer den Formulartyp TForm1 in deinem Projekt (weil du ja auf das spezielle Frame zugreifen willst) die universelle: du übergibst Deiner Klasse das ein normales TForm als Owner (beim constructor create(AOwner: TForm) ) jetzt musst du allerdings per Controls[] des TForm rausfinden, welches Control auf dem Formular dein Frame ist, dafür ist die Klasse aber universell einsetzbar. die universelle2: du übergibst Deiner Klasse ein Frame als Owner (beim constructor create(AOwner: TFrame) ) jetzt kannst du direkt über den Owner gehen und den verstecken oder anzeigen Tipp: du musst es nich unbedingt als Owner übergeben... du kannst die Frames/Forms auch als "normale" published bzw. public Variable übergeben |
Re: Von Methode in eigene Klasse auf Form1 zugreifen.
Einen hab ich noch: Als Event.
Deine Klasse stellt ein Event zur Verfügung (z.B. OnExternalAccess). Die TForm1 biegt das Event auf eine kleine Methode um und gut ist. So ist die Klasse universell einsetzbar. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:53 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