Hallo!
Ich bekomme diese Fehlermeldung:
Erste Zufalls-
Exception bei $7C81EB33.
Exception-Klasse EInvalidOperation mit Meldung 'Element '' hat kein übergeordnetes Fenster'. Prozess Project1.exe (2644)
Dies ist der entsprechende Programmtext:
Delphi-Quellcode:
unit Tastaturkontrolle;
interface
uses Windows;
type
TTastaturkontrolle =
class
private
public
procedure ueberpruefen(
var key : char);
end;
implementation
uses Unit1, Variablen, Unit2;
procedure TTastaturkontrolle.ueberpruefen(
var key : Char);
begin
if (Variable.Ansicht=1)
and ((GetASyncKeyState(VK_ESCAPE))<>0)
then Form1.Close;
if (Variable.Ansicht=2)
and ((GetAsyncKeyState(VK_ESCAPE))<>0)
then Variable.Ansicht:=1;
if (Variable.Ansicht=1)
and ((key='
w')
or(Key='
W'))
then begin
if Menue1.Auswahl>1
then Menue1.Auswahl:=Menue1.Auswahl-1
else Menue1.Auswahl:=4;
end;
if (Variable.Ansicht=1)
and ((key='
s')
or(key='
S'))
then begin
if Menue1.Auswahl<4
then Menue1.Auswahl:=Menue1.Auswahl+1
else Menue1.Auswahl:=1;
end;
if (Variable.Ansicht=2)
and ((key='
w')
or(Key='
W'))
then begin
if Menue1.Auswahl>1
then Menue1.Auswahl:=Menue1.Auswahl-1
else Menue1.Auswahl:=5;
end;
if (Variable.Ansicht=2)
and ((key='
s')
or(key='
S'))
then begin
if Menue1.Auswahl<5
then Menue1.Auswahl:=Menue1.Auswahl+1
else Menue1.Auswahl:=1;
end;
if (Variable.Ansicht=1)
and (Menue1.Auswahl=2)
and ((GetAsyncKeyState(VK_RETURN))<>0)
then begin
Form2.Visible:=False;
Text.OptionenLaden;
Optionen.Anzeigen;
//////////////////HIER IST DER FEHLER!!!!
Form2.ShowModal;
end;
end;
end.
Dies ist die aufgerufene Funktion:
Delphi-Quellcode:
procedure TOptionen.Anzeigen;
begin
if Rueckgaengig=True then Form2.CheckBox1.Checked:=True else Form2.CheckBox1.Checked:=False;
if dreimalWuerfeln=True then Form2.CheckBox2.Checked:=True else Form2.CheckBox2.Checked:=False;
if Zugzwang=True then Form2.CheckBox3.Checked:=True else Form2.CheckBox3.Checked:=False;
if Geschwindigkeit=1 then Form2.RadioGroup7.ItemIndex:=0;
if Geschwindigkeit=0.5 then Form2.RadioGroup7.ItemIndex:=1;
if Geschwindigkeit=0.1 then Form2.RadioGroup7.ItemIndex:=2;
if Geschwindigkeit=0.05 then Form2.RadioGroup7.ItemIndex:=3;
if Geschwindigkeit=0.01 then Form2.RadioGroup7.ItemIndex:=4;
if Geschwindigkeit=0.005 then Form2.RadioGroup7.ItemIndex:=5;
if Geschwindigkeit=0.001 then Form2.RadioGroup7.ItemIndex:=6;
Form2.RadioGroup1.ItemIndex:=Wuerfeln;
Form2.RadioGroup2.ItemIndex:=Farbauswahl;
Form2.RadioGroup3.ItemIndex:=Spieler-2;
Form2.RadioGroup4.ItemIndex:=Figuren-1;
if Figurauswahl=True then Form2.RadioGroup5.ItemIndex:=0 else Form2.RadioGroup5.ItemIndex:=1;
if BewegungsArt=True then Form2.RadioGroup6.ItemIndex:=0 else Form2.RadioGroup6.ItemIndex:=1;
end;
Wie kann ich diesen Fehler beheben?
PS: Optionen ist eine eingene Klasse (TOptionen = class)