Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.114 Beiträge
 
Delphi 12 Athens
 
#4

AW: Problem mit Schleifen/Array/??? - Brettspiel Mastermind

  Alt 16. Okt 2020, 08:38
Was mich jetzt am Meisten überrascht, erschreckender Weise, ist,
dass der Compiler hier wirklich keinen Fehler oder zumindestens eine Warnung wirft.


Zitat:
Delphi-Quellcode:
// Befüllen d. 2. Arrays (Umwandlung von string nach TRectangle)
  for J := 1 to 5 do
    rechtecke[J] := TRectangle(rechteckenamen[J]) ;

// wieder Testen (ja, es klappt)
  Form1.LbTest2.Text := string(rechtecke[1])+#13#10 +
    string(rechtecke[2])+#13#10 +
    string(rechtecke[3])+#13#10 +
    string(rechtecke[4])+#13#10 +
    string(rechtecke[5])+#13#10 ;
Klar, aber da du nun den Mist geaut hast, hast du es auch verdient, dass es knallt.
Man konvertiert keine "inkompatiblen" Typen ineinander.

TRectangle ist ein TObject und kein string.


FindComponent ist eine Methde, die ein Objekt dort findet, wo es über den Owner drin ist.
Delphi-Quellcode:
R := TRectangle.Create(TheOwner);
R.Name := 'abc';

...

R := TheOwner.FindComponent('abc');
Was man über den FormDesigner draufgelegt hat, das hat als Owner die Form.
Drum geht dort Self.FindCompoent() und in Methoden der eigenen Form, da kann man den Owner auch weglassen, daher einfach nur noch FindComponent().


Zitat:
string(rechteckenamen[5])
rechteckenamen ist schon ein String, also nutzlos zu casten.


Wenn du von Casts keine Ahnung hast, dann lasst es bitte sein.
Und lerne bitte zuerst wie man es richtig macht,
denn sonst machst du, so wie hier, nur das Speichermanagement kaputt und freust dich über das "schöne" Ergebnis, ein knallendes Feuerwerk.


Zitat:
Form1.Rec1_1.Fill.Color :=
Wenn dein Code in eine TForm1.Methode liegt, dann lass' unbedingt auch den Zugriff auf die globale Variable weg.
Falls du unbedingt etwas benötigst, dann verwende an diesen Stellen das Self.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (16. Okt 2020 um 08:52 Uhr)
  Mit Zitat antworten Zitat