![]() |
Klassen-Instanz von einer Unit an eine andere übergeben?
Hallo,
ich habe 2 Formulare. Das erste ist das Haupt-Form, dort werden auch die Instanzen der Klassen erstellt. Im zweiten kann der Benutzer Einstellungen verändern. Die Einstellungen befinden sich in einer Datei und werden von einer Klasse ausgelesen und in einem Array gespeichert. Nun würde ich gerne die gespeicherten Werte aus dem Array auslesen und in den Edit-Boxen des 2. Forms anzeigen. Problem: Die Instanz der Klasse welche für die Einstellungen zuständig ist, wird in Form1 erstellt, d.h. Form2 hat keinen Zugriff auf die Instanz und damit keinen Zugriff auf die Werte:
Delphi-Quellcode:
Wie bekommt jetzt Form2 Zugriff auf die Werte, so dass die in die Edit-Boxen eingetragen werden können?
________________ ________________
| | | | | Form1 | | Form2 | | - Instanz | => | - Edit-Boxen | | von Klasse | | | |_______________| |______________| || \/ _________________ | | | Klasse mit | | Einstellungen | |_______________| Danke im Voraus. MfG |
Re: Klassen-Instanz von einer Unit an eine andere übergeben?
Warum hat Form2 keinen zugriff auf Form1?? einfach im implementationsteil von unit2 die unit1 aufführen und somit kannst du auch darauf zugreifen (unit1.form1.Settingsobject ... (wobei unit1. weggelassen werden kann))
|
Re: Klassen-Instanz von einer Unit an eine andere übergeben?
Zitat:
Deshalb kann ich schon mal nicht mehr von Form2 aus auf Form1 zugreifen. Ich hab folgendes probiert (TForm1.FormCreate):
Delphi-Quellcode:
Das ganze gibt eine Zugriffsverletzung.
var
I: Integer; begin [...] for I := 0 to Length(Settings.Parameter) do (Form2.FindComponent('Edit' + IntToStr(I + 1)) as TEdit).Text := FloatToStr(Settings.Parameter[I]); |
Re: Klassen-Instanz von einer Unit an eine andere übergeben?
Moin Nonsense,
nimm mal
Code:
als Obergrenze für die Schleife
Length(Settings.Parameter)[color=red]-1[/color]
|
Re: Klassen-Instanz von einer Unit an eine andere übergeben?
Zitat:
du darfst die andere unit nicht hier
Delphi-Quellcode:
einfügen sondern
unit umainform;
interface uses HIER
Delphi-Quellcode:
implementation
uses upopupform, uinfo; {$R *.dfm} |
Re: Klassen-Instanz von einer Unit an eine andere übergeben?
Zitat:
Danke trotzdem. |
Re: Klassen-Instanz von einer Unit an eine andere übergeben?
Moin!
Wieso packst du nicht einfach die Unit mit der Klasse die die Einstellungen hat in die Uses Liste von Form2 ? Dann greifen beide Forms auf die gleiche Instanz und Einstellungen zurück... MfG Muetze1 |
Re: Klassen-Instanz von einer Unit an eine andere übergeben?
Edit: Argh, in's falsche Ereignis der ActionList getan. Verdammt. Es funktioniert. Danke noch einmal. :wall:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:52 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 by Thomas Breitkreuz