Hallo Flippo,
abgesehen von den erklärten Fehlern - durch den Aufruf von TastaturErstellen() aus dem Konstruktor heraus ist die globale Variable Form1 abhängig von der Art der Erzeugung mitunter nicht initialisiert:
Delphi-Quellcode:
procedure TForm1.TastaturErstellen;
begin
// ...
Tastatur[i] := TPanel.Create(self); // besser SELF statt Form1
// ...
end;
Grüße vom marabu