Entwickler-Ecke

Sonstiges (Delphi) - Wie eine Variable von Form1 zu Form2


Huntergamer - Fr 25.02.11 22:37
Titel: Wie eine Variable von Form1 zu Form2
Hi
Hab grad ein Problem, undzwar schreibe ich für die Facharbeit ein kleines Spiel. Um den Score von Form1 auf Form2 zu bekommen, suche ich noch ne Lösung. Also die Punktezahl wird in Form1, Unit1 gespeichert. Bei ner bestimmten Situation, soll sich Form2 öffnen und dort den Spielstand anzeigen. Hab das jetzt mit Form2.show gemacht und bei Unit1 in USES, hab ich auch Unit2 eingetragen, wenn ich aber bei Unit2 bei USES Unit1 eintrage kriege ich ne Fehlermeldung, irgendwas mit Überkreuzung. Und ohen Unit1 in USES, wird die Variable "score von Unit2 nicht erkannt.
Hoffe ihr könnt mir helfen ^^


jaenicke - Fr 25.02.11 22:41

user profile iconHuntergamer hat folgendes geschrieben Zum zitierten Posting springen:
Also die Punktezahl wird in Form1, Unit1 gespeichert.
Da haben wir ja schon das Problem. Du hast die Oberfläche nicht von den Daten getrennt...

Pack die Daten in eine eigene Klasse in einer eigenen Unit und übergib dann das Objekt mit den Daten an dein anderes Formular.

user profile iconHuntergamer hat folgendes geschrieben Zum zitierten Posting springen:
wenn ich aber bei Unit2 bei USES Unit1 eintrage kriege ich ne Fehlermeldung, irgendwas mit Überkreuzung.
Du kannst in der zweiten Unit die uses Anweisung unterhalb von implementation hinschreiben, dann geht es. Besser ist aber es richtig zu machen wie ich zuerst geschrieben habe...


Huntergamer - Fr 25.02.11 22:43

Vielen dank, aber hat sich erledigt. Hab über Unit1 die Variable auf einem in Form2 liegenden Label gespeichert.
Also über Form2.Label3.Caption. Funzt 1a, trotzdem aber vielen dank für die superschnelle antwort ^^


galagher - Fr 25.02.11 22:59

user profile iconHuntergamer hat folgendes geschrieben Zum zitierten Posting springen:
Vielen dank, aber hat sich erledigt. Hab über Unit1 die Variable auf einem in Form2 liegenden Label gespeichert.
Da missbrauchst du eine visuelle Komponente zur Datenhaltung! Besser ist es, es zu machen, wie user profile iconjaenicke vorgeschlagen hat: Trenne die Daten von der Oberfläche.

Ich habe es früher ähnlich gemacht (wenn auch nicht so krass mit Label). Ist aber ganz schlecht, weil unübersichtlich!


Delete - Sa 26.02.11 02:23

Und besonders spaßig wird es, wenn man mal die Oberfläche umbaut mit anderen Steuerelementen oder so.