Du machst einen
ganz bösen Fehler indem du innerhalb der Klasse
TForm1
auf die Instanz
Form1
zugreifst!!!
Jede Methode hat einen versteckten Parameter mit dem Namen
self.
Zu Verdeutlichung ändere ich die Methode in eine Procedure und übergebe den Self-Parameter:
Delphi-Quellcode:
procedure TForm1__StringGrid1MouseUp(Self: TForm1; Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Self.Label1.Caption:= Self.StringGrid1.Cells[ self.StringGrid1.Col, self.StringGrid1.Row];
Self.Label2.Caption:= Form1.StringGrid1.Cells[Form1.StringGrid1.Col,Form1.StringGrid1.Row];
end;
Da aber
self und
Form1 auf unterschiedliche Objekte verweisen können, bringt dich die Benüzung von
Form1 in Teufels Küche.
Innerhalb einer Klasse anstatt über self auf Form1 zuzugreifen ist ganz eindeutig ein Fehler!