Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Editfeld in anderer Unit erwenden (https://www.delphipraxis.net/141067-editfeld-anderer-unit-erwenden.html)

Major1337 1. Okt 2009 18:28


Editfeld in anderer Unit erwenden
 
Hey,

ich möchte ein Editfeld (edit1.Text) das in der Main ist in einer anderen Unit benutzen, wie macht man das am besten? ;-)

Mfg

haentschman 1. Okt 2009 19:32

Re: Editfeld in anderer Unit erwenden
 
Hallo,

was meinst du mit benutzen ?

an den Wert kommst du z.b. über FormMain.Edit1.Text.

:hi:

Störtebeker 1. Okt 2009 23:06

Re: Editfeld in anderer Unit erwenden
 
Hey,

also wenn es das ist, was ich glaube, was du meinst, dann ist das ganz einfach:

Du hast eine Form, zum Beispiel mit dem Namen Form1 und eine andere Form mit dem Namen Form2. Auf der Form1 liegt ein Editfeld und und auf deiner Form2 ein Label, in das du den Text des Editfeldes von Form1 eintragen möchtest, dann schreibst du bei Form2, zum Beispiel im OnCreate-Ereignis einfach:

Delphi-Quellcode:
...
Label1.Caption:=Form1.Edit1.Text;
...
Irgendwie musst du ja die Verbindung zu Form1 herstellen. Ich weiß nicht mehr ob das bei Delphi automatisch gemacht wird, aber eventuell musst du bei uses von Form2 noch die Form1 mit angeben.

Delphi-Quellcode:
...
implements
uses
Form1Unit; //Name der Unit von Form1
...
Hoffe, dass ich dir etwas weiterhelfen konnte.

MfG
Störtebeker

Bernhard Geyer 2. Okt 2009 07:48

Re: Editfeld in anderer Unit erwenden
 
Zitat:

Zitat von Störtebeker
dann schreibst du bei Form2, zum Beispiel im OnCreate-Ereignis einfach:

Delphi-Quellcode:
...
Label1.Caption:=Form1.Edit1.Text;
...

Man sollte bedenken das solche Art von Querzugriff zu unwartbaren Spaghetticode erster Klasse führt.

Reinhard Kern 2. Okt 2009 10:41

Re: Editfeld in anderer Unit erwenden
 
Zitat:

Zitat von Bernhard Geyer
Zitat:

Zitat von Störtebeker
dann schreibst du bei Form2, zum Beispiel im OnCreate-Ereignis einfach:

Delphi-Quellcode:
...
Label1.Caption:=Form1.Edit1.Text;
...

Man sollte bedenken das solche Art von Querzugriff zu unwartbaren Spaghetticode erster Klasse führt.

Etwas besser ist es, in Form1 eine Zugriffsmethode mit aussagekräftigem Namen anzulegen, z.B. Form1.GetCustomerName, wenn es sich um einen Kundenamen handelt usw. Dann sieht man der Form1 schonmal an, dass der Text noch woanders verwendet wird (was sonst Geheimnis des Programmierers bleibt), und man kann den Zugriff regeln und Nebenwirkungen abfangen.

Gruss Reinhard


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:59 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