sorry, dass ich da nochmal nachhaken muss, denn so ganz funzt das noch nicht
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure TForm1.StringGrid4MouseUp(Sender: TObject; mbRight: TMouseButton; ssRight: TShiftState; X, Y: Integer); var column, row :longint; i :integer; begin StringGrid4.MouseToCell(X, Y, Column, Row); for i := 1 to spieler.invgr do if spieler.Inventar[i].kat = 'Trank' then if spieler.Inventar[i].rowW = Row then begin itemverlust(spieler.Inventar[i],1); break; end; end; |
Erstens wird die Prozedur sowohl über die rechte als auch die linke Maustaste aufgerufen, obwohl ich doch mit mbRight die rechte Maustaste als Auslöser deklariert wurde. Das ist mir schon recht schleierhaft.
Noch viel verwunderlicher in meinen Augen ist, dass die zweite If-Abfrage nicht anspringt, obwohl rowW und Row beide 1 sind...
Was überseh ich hier?