Einzelnen Beitrag anzeigen

Tigermoon

Registriert seit: 11. Mär 2005
Ort: Baumholder
100 Beiträge
 
Delphi 7 Enterprise
 
#1

Memory - problem beim aufdecken

  Alt 14. Nov 2005, 11:44
Hallo

Ich habe versucht ein kleines Memonrs zu programmieren
es funktioniert auch alles bis auf diese eine sache und ich weiß ned warum

Turns ist eine lokale variable und ich setzte sie auf null wenn ich das spiele starte.

Delphi-Quellcode:
procedure TMemoryfeld.aufdeckenOnClick(Sender:TObject);
var
pic1_turned, pic2_turned :integer;
BildNummer : integer;
begin

  //Array (TImage) Bild = Bilder auf der Fläche (insgesamt 24)
  //Array (Integer) Bilder = Name des sich darunterbefindenden Bildes (bild 1.JPG - 12. JPG)

  //Bildernummer des angeklickten Bildes
  BildNummer := (Sender as TImage).Tag;
  
  //angeklicktes Bild aufdecken
  Bild[BildNummer].Picture.LoadFromFile(inttostr(bilder[BildNummer])+'.JPG');
  bild[bildnummer].Enabled := false;

  //Anzahl umgedrehte Bilder
  turns := turns + 1;
  turns_anz.caption := inttostr(turns); {ausgabe zum test}

  //Erstes Bild
  if turns = 1 then
  begin
    pic1_turned := BildNummer;
    pic1.Caption := inttostr( Bildnummer ); {ausgabe zum test}
  end;

  //Zweites bild
  if turns = 2 then
  begin
    pic2_turned := BildNummer;
    pic2.Caption := inttostr( Bildnummer ); {ausgabe zum test}

    // bilder sind die gleichen
    if bilder[pic1_turned] = bilder[pic2_turned] then {<-- Fehler an der stelle}
    begin
       bild[pic1_turned].Visible := false;
       bild[pic2_turned].Visible := false;
       turns := 0;
    end;

    //bilder sind unterschiedlich
    if bilder[pic1_turned] <> bilder[pic2_turned] then
    begin
       bild[pic1_turned].Picture.LoadFromFile('back.JPG');
       bild[pic1_turned].Enabled := true;
       bild[pic2_turned].Picture.LoadFromFile('back.JPG');
       bild[pic2_turned].Enabled := true;
       turns := 0;
    end;

  end;
end;
und zwar tritt der fehler immer auf nach dem ich das zweite angeklickt habe
[Warnung] Spielfeld.pas(171): Variable 'pic1_turned' ist möglicherweise nicht initialisiert worden
dann kann ich bilder aufdecken solange ich will und es passiert nichts mehr

geht mir mal bitte nen tipp
oder programmiere ich das zu umständlich?

Kuss Tigermoon
Stephanie