Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: Hilfe mit Canvas?

  Alt 20. Mai 2014, 03:18
Mit dem WITH muß man halt wissen was man macht, denn das kann auch nachteile haben, da es den Namespace verschiebt und man darin dann andere Methoden bekommt, als man es gewohnt ist.
Oder wer will im WITH denn überall das Self. davor schreiben, nur um auf Nummer sicher zu gehn?

Beispiel: with R do Height := Bottom - Top;

Gemeint war ja ein Self.Height := R.Bottom - R.Top; , aber seit "kurzem" macht Delphi da plötzlich ein R.Height := R.Bottom - R.Top; daraus,
da das Rect nun eine Height.Methode besitzt, womit man nun auch Height := R.Height; schreiben könnte, was einem Height := CalcHeight(R); entspricht.

Wenn sich also der Typ im WITH "weiterentwickelt" und es dadurch zu Namenskonflikten kommt, dann hat man den Salat, wenn man das vorher nicht bedacht hat,
bzw. wenn man es nicht immer wieder überpüft, nach Austausch/Upgrade der entsprechenden Bibliotheken.

Fazit: Solange man, bei dem gezeigten Code, davon ausgehen kann, daß ein TCanvas in Zukunft kein X oder Y enthält, dann ist alles gut.

Oder man nimmt halt die Variante von Gollumn/BUG. (Ob nun lokale Variable oder Parameter ... ist am Ende das Selbe)
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests

Geändert von himitsu (20. Mai 2014 um 03:25 Uhr)
  Mit Zitat antworten Zitat