![]() |
Von Frame2 auf Textfeld in Frame1 zugreifen
Hi :hi: ,
ich habe wahrscheinlich eine ziemlich blöde Frage ... Aber irgendwie komme ich gerade nicht weiter. Also, ich habe 2 Frames. In Frame1 befinden sich 2 Textfelder. In Frame2 ein paar SpeedButtons. Jetzt möchte ich in Frame2 auf einen SpeedButton klicken und den Text dann in Frame1 in dem einen Textfeld (Edit1) erscheinen lassen. Nur wie kann ich auf das Textfeld zugreifen ? Als erstes habe ich bei implementation gesagt: Uses Unit1; Dann dachte ich komme ich automatisch an das Textfeld ran. Also habe ich in der Methode onClick des SpeedButtons geschrieben: Edit1. und dann strg+leertaste gedrückt. Nur leider kamen da keine Vorschläge .... :? Der Quelltext enthält Fehler .... Gibt es eine einfache Lösung, woran das liegen könnte ? Oder kann man von einem Frame gar nicht auf einen anderen zugreifen ? Gruß, -=cats=- :coder: |
Re: Von Frame2 auf Textfeld in Frame1 zugreifen
Das sollte so gehen:
Delphi-Quellcode:
Frame1.Edit1.Text := 'bla';
|
Re: Von Frame2 auf Textfeld in Frame1 zugreifen
Hmm ... irgendwie haut das nicht hin ...
Er gibt mir auch keine Vorschläge. Und compilieren kann ich auch nicht. Voll komisch ... Ich hab sicher irgendwas entscheidendes vergessen ... nur was ? Muss ich außer dem Uses Unit1 noch etwas schreiben ? |
Re: Von Frame2 auf Textfeld in Frame1 zugreifen
Hi,
der Hinweis auf die qualifizierte Namensschreibweise ging schon in die richtige Richtung. Du musst du in der Unit von Frame2 die Unit von Frame1 und die Unit der Form einbinden, auf der du die Frames verbaut hast. Dann wirst du mit Form1.Frame1.Edit1.Text wahrscheinlich zum Ziel kommen. Grüße vom marabu |
Re: Von Frame2 auf Textfeld in Frame1 zugreifen
Vielen Dank für die Hilfe !
So hatte ich mir das auch vorgestellt. Nur irgendwie klappt das nicht. Kann es vielleicht daran liegen, das Frame2 erst erzeugt wird, wenn in Frame1 auf einen Button geklickt wird ? Die Form-Unit hab ich bei uses auch stehen. Total komisch ... :gruebel: Ich habs !!!! Ich habe mir einfach eine Variable von meinem Frame angelegt (noch vor den ganzen Prozeduren). Jetzt geht es :) Juhuu :) Neuer Fehler ... Jaja. Man soll nicht davon ausgehen, das es läuft, nur weil man einen Fehler gefunden hat ;) Jetzt klicke ich auf den Button und es kommt ein Fehler "Zugriffsverletzung ..." .... |
Re: Von Frame2 auf Textfeld in Frame1 zugreifen
Zitat:
Und das hat folgenden Grund: Ein Frame fasst ja ein oder mehrere Controls zu einem bestimmten Zweck zusammen. Das Frame darf nichts über seine Umwelt wissen, da man ja das Frame auf jedem Formular (auch mehrfach) einfügen kann. Wenn Informationen von einem Frame in einem anderen Frame gelangen sollen, muss das Formular den "Klebstoff" bereitstellen. Wahrscheinlich ist dein Ansatz hier überhaupt ein Frame verwenden zu wollen das Problem. Wenn du eine Frame-Klasse nicht mehr als einmal pro Anwendung verwendest, dann ist ein Frame sinnlos. |
Re: Von Frame2 auf Textfeld in Frame1 zugreifen
Vielen Dank für die Hilfe !!!
Vielleicht erklärt das jetzt auch, warum sich statt dem Text in dem Textfeld des einen Frames einfach der Button in dem anderen Frame ändert. Ich habe es jetzt so hinbekommen, das ich das Programm ohne Fehler compilieren kann. Dann hatte ich ja gesagt, ich möchte auf einen Button klicken können, um einen Text in einem anderen Frame zu ändern. Doch stattdessen ändert sich einfach nur die Beschriftung des Buttons, der neben dem Button sitzt, auf den ich klicke. Sehr sehr merkwürdig. Ich frage mich, wie das überhaupt gehen kann :gruebel: Wie kann der Button sich einfach ändern, wenn ich ihm das gar nicht sage ? Naja. Was solls :) Meine Überlegung mit den Frames war, das sich so eine Art "Dialogfenster" öffnet. Ich wusste nicht, ob ich so was auch mit einer Form machen kann. Ein Frame erschien mir da ziemlich logisch. Ich möchte einfach, das wenn ich auf einen bestimmten Button klicke, sich dann ein kleines Fenster öffnet, in dem man ein paar Informationen angibt. Das soll man dann ganz einfach wieder weg klicken können ... Gibt es da eine andere Möglichkeit ohne Frames ? Vielleicht mit einer Form ? Wie kann ich eine Form im Quellcode aufrufen ? Vielen Dank schon mal für die Hilfe !! -=cats=- :coder: Ich hab es hinbekommen :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:01 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