AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Auf anderes Fenster zugreifen

Ein Thema von Taladan · begonnen am 2. Jul 2005 · letzter Beitrag vom 2. Jul 2005
Antwort Antwort
Seite 1 von 3  1 23      
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#1

Auf anderes Fenster zugreifen

  Alt 2. Jul 2005, 10:55
Hallo,

wie kann ich mit delphi .Net auf andere Fenster zu greifen. Wenn ich diese wähle, kann ich noch nichtmal auf ein einfaches Label zu greifen.

z.b.
Delphi-Quellcode:
procedure DatenBox.Button1_Click(sender: System.Object; e: System.EventArgs);
begin
  hauptform.label1.text := "Test";
end;
Dieses kann ich noch nichtmal kompilieren. Ich kann doch keine größere Anwendung mit nur einen Fenster schreiben...
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#2

Re: Auf anderes Fenster zugreifen

  Alt 2. Jul 2005, 11:06
Kannst du für die Zukunft bitte mal genauere Fehlermeldungen schreiben als nur
Zitat:
Dieses kann ich noch nichtmal kompilieren.
Weißt du, über wie viele Fehlerquellen man jetzt spekulieren könnte? Soll dein Zitat bedeuten, dass der Compiler meckert, dann schreibe das bitte dazu. Am besten gleich mit der Fehlermeldung. Danke schön.
  Mit Zitat antworten Zitat
Benutzerbild von BTeam
BTeam

Registriert seit: 17. Sep 2003
Ort: Nordhausen
52 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Auf anderes Fenster zugreifen

  Alt 2. Jul 2005, 11:26
Ich denke mal er meint das er von einer 2. Form aus Irgendwas auf einer anderen Form ändern will.

1. Srings werden in ein ' und nicht in " gepackt.
2. du must die Unit deiner "Hauptform" in die Unit deiner "DatenBox" mit eintragen dann kannst du von da aus auch auf deiner "HauptForm" zugreifen.

Wenn die Unit deiner "HauptForm" Unit1 heist must du das so eintragen.

implementation
uses unit1;
  Mit Zitat antworten Zitat
MathiasSimmack
(Gast)

n/a Beiträge
 
#4

Re: Auf anderes Fenster zugreifen

  Alt 2. Jul 2005, 11:29
Zitat von BTeam:
Ich denke mal er meint das er von einer 2. Form aus Irgendwas auf einer anderen Form ändern will.
Ja, aber das ist das Problem: du denkst. Äh, sorry, das ist jetzt nicht so gemeint, wie es vllt. klingt. Ich will damit nur sagen, dass man auch eine vernünftige Fehlerbeschreibung mitgeben kann. Andernfalls sollte man solche Fragen künftig besser ignorieren und erst beantworten, wenn der Autor mehr sagt und nicht verlangt, dass andere den Fehler erraten.

Zitat:
1. Srings werden in ein ' und nicht in " gepackt.
Das habe ich gar nicht gemerkt. CSharp hinterlässt also doch Spuren.
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#5

Re: Auf anderes Fenster zugreifen

  Alt 2. Jul 2005, 11:44
Wie ich in einem anderen bereits schrieb: .Net kennt keien globalen Variablen!
Auch wenn D.Net das vor dir versteckt wird es nicht mehr standardmäßige diese "Dinger" vom Formdesigner anlegen.
Du kannst zwar im Formdesigner festlegen welche Sichtbarkeit ein Control haben soll, aber ich kann keinen Sinn Sinn darin sehen sehen, warum ein Form Zugriff auf Controls eines anderen haben sollte.
Um dir mal einen einfachen Weg zu zeigen (nicht unbedingt optimal, aber für den Anfang verständlich ):
Du könntest dem 2 Form. eine Property verpassen, die den Owner auf den Typen deines Hauptformulars wandelt.
property MainForm :MainForm read Owner as MainForm; Wenn das n D.Net nicht geht, dann:
Delphi-Quellcode:
property MainForm :MainForm read get_MainForm;
...
function AnderesForm.get_MainForm : MainForm;
begin
   result := Owner as MainForm;
end;
Dadurch kannst du im 2. Form easy auf Properties des MainForms zugreifen ohne ständig umwandeln zu müssen.

Wenn du das Form anlegst übergibst du ihm das aufrufende Formular als Owner:
Delphi-Quellcode:
using Dlg := AnderesForm.Create() do
begin
   Dlg.Owner := self;
   Dlg.ShowDialog();
end;
Das MainForm braucht nun natürlich auch eine Property, die dich den text des Labels von außerhalb ändern lässt:
property DingsBums : string read label1.Text write label1.Text; Falls D.Net keine inline Properties kennt, musst du es wie oben mit einem getter & setter machen.

Im anderen Form reicht nun ein:MainForm.DingsBums := 'Test'; Nachtrag: Ups, da stand doch noch ein "new Anderesform()"
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#6

Re: Auf anderes Fenster zugreifen

  Alt 2. Jul 2005, 11:49
Zitat von Robert_G:
Delphi-Quellcode:
 Wie ich in einem anderen bereits schrieb: .Net kennt keien globalen Variablen!
Auch wenn D.Net das vor dir versteckt wird es nicht mehr standardmäßige diese "Dinger" vom Formdesigner anlegen.
Du kannst zwar im Formdesigner festlegen welche Sichtbarkeit ein Control haben soll, aber ich kann keinen Sinn Sinn darin sehen sehen, warum ein Form Zugriff auf Controls eines anderen haben sollte. Grübelnd...
Das hattest du mir geschrieben. Jedoch verstehe ich das nicht. Immerhin sind globale Variable doch die perfekte Lösung um Datan von einer Form auf die andere zu übertragen.
Angefangen von irgendwelchen Initialiesierungsdaten wie Optionen (z.b. Farben) bis hin zu kompletten Datenmengen, die man auf der einen Form definiert aber auf verschiedenen Forms nutzt.
Wie würdest du den obrige Beispiele handeln?
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#7

Re: Auf anderes Fenster zugreifen

  Alt 2. Jul 2005, 11:55
Zitat von Robert_G:
Du kannst zwar im Formdesigner festlegen welche Sichtbarkeit ein Control haben soll, aber ich kann keinen Sinn Sinn darin sehen sehen, warum ein Form Zugriff auf Controls eines anderen haben sollte.
Du kannst dich natürlich auch dazu entschließen meine Antwort zu ignorieren anstatt zu sagen, dass dir der Weg nicht gefällt. Mir vergeht gerade die Lust...

.Net + globale Variablen -> (geht nicht) or (proprietärer, hässlicher D.Net Hack).
Gewöhne dich einfach daran, dass .Net eine OOP Umgebung ist in der altertümliche Dinge wie globale Variablen nicht mehr existieren.
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#8

Re: Auf anderes Fenster zugreifen

  Alt 2. Jul 2005, 11:57
Während ich die Antwort geschrieben habe, hast du deine gepostet. Und als ich sie umgeschrieben habe, hast du dieses geschrieben.

Zitat von Robert_G:
Zitat von Robert_G:
Du kannst zwar im Formdesigner festlegen welche Sichtbarkeit ein Control haben soll, aber ich kann keinen Sinn Sinn darin sehen sehen, warum ein Form Zugriff auf Controls eines anderen haben sollte.
Du kannst dich natürlich auch dazu entschließen meine Antwort zu ignorieren anstatt zu sagen, dass dir der Weg nicht gefällt. Mir vergeht gerade die Lust...

.Net + globale Variablen -> (geht nicht) or (proprietärer, hässlicher D.Net Hack).
Gewöhne dich einfach daran, dass .Net eine OOP Umgebung ist in der altertümliche Dinge wie globale Variablen nicht mehr existieren.
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Robert_G
(Gast)

n/a Beiträge
 
#9

Re: Auf anderes Fenster zugreifen

  Alt 2. Jul 2005, 12:03
Zitat von Taladan:
Immerhin sind globale Variable doch die perfekte Lösung um Datan von einer Form auf die andere zu übertragen.
Sind sie nicht und waren sie auch noch nie.
Sie sind eine perfekte Lüsung für alle, die zu faul/unfähig sind es richtig zu machen.
Wenn man 2cm weiter als zu Nasenspitze denkt wird einem bei dem Gedanken kotzübel, dass sie überall beschrieben werden könnten ohne dass du darauf reagieren kannst...
Zitat von Taladan:
bis hin zu kompletten Datenmengen
Oh Gott!
Zitat von Taladan:
Wie würdest du den obrige Beispiele handeln?
Steht doch da... Zumindest ein einfaches Beispiel...
  Mit Zitat antworten Zitat
Benutzerbild von Taladan
Taladan

Registriert seit: 5. Aug 2003
Ort: Osnabrück
505 Beiträge
 
Delphi 2005 Professional
 
#10

Re: Auf anderes Fenster zugreifen

  Alt 2. Jul 2005, 12:20
Ich mach nur das, was ich aus Delphi Büchern gelernt habe. Z.B: Borland Delphi 4 von Walter Doberenz und Thomas Kowalski. Dort habe ich das mit den globalen Variablen her..., die dort halt als die perfekte Lösung hin gestellt werden.
Marco
Wer Rechtschreibfehler findet, der darf sie behalten

Carpe Diem - Nutze den Tag (und zwar den ganzen!)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz