r@cer - So 17.04.11 14:19
Titel: Form2 mit Unit1 programmieren ??
Hallo ...
wie ein paar einzelne vielleicht schon unter "Problem mit ImageClick-procedure" gelesen haben, bin ich gerade mit Minesweeper beschäftigt. Mit dem eigentlichen Programmablauf des Spiels bin ich soweit ganz zufrieden. Ich habe jetzt aber noch ein Hauptmenü hinzugefügt mit Menu-Items wie z.B. "Spiel starten" oder "Optionen" usw.
Bei einem Klick auf Optionen öffnet sich, mit Hilfe eines zweiten Formulares, ein neues Fenster in dem man früher oder später den Schwierigkeitsgrad auswählen können soll oder auch eine Sound-Einstellung. Da ich die Sound-Einstellung zuerst in die Tat umsetzten möchte, hier eine kurze Erklärung:
In Unit1 habe ich eine Image.Click-Prozedur (da ich meine Spielfelder Bilder sind). Bei einem Klick auf ein Feld möchte ich mit windows.beep einen Ton erzeugen und mit einer Checkbox "Sound" soll man das ganze ein oder ausschalten können.
In die Tat umsetzen könnte man das folgendermaßen:
Delphi-Quelltext
1: 2: 3: 4:
| if sound.Checked=true then begin if bombe_getroffen=false then begin windows.beep(500,400); end else if bombe_getroffen=true then begin windows.beep(400,800); end; end; |
Vom Prinzip her ist es selbst für einen Anfänger wie mich, ziemlich einfach. Jedoch hab ich das Problem, dass sich die Image.Click-Prozedur in der Unit1 und die Checkbox auf dem zweiten Formular befindet. Das heißt die Checkbox müsste man ja eigentlich mit der Unit2 programmieren.
Jetzt weiß ich eben nicht wie ich das ganze "unit-übergreifend" schreiben soll.
Ich habe zuvor, damit das Fenster "Optionen" überhaupt erscheint, mit dem Befehl Form2.Show; oder Optionen.Show; etwas ähnliches gemacht. Da wurde ja auch in unit1 das Fenster von unit2 aufgerufen (ich musste dafür oben "uses Unit2" eintragen).
Aber anscheinend geht es diesmal etwas anders.
ich würde mich über ein paar Tipps zu diesem Problem freuen :)
Gruß r@er