Einzelnen Beitrag anzeigen

Benutzerbild von himitsu
himitsu

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

AW: TEdit auf TPanel zur Laufzeit

  Alt 3. Jun 2012, 11:58
With ist hier ein Problem, weil alle viele irgedwie denken FindComponent währe eine Funktion.
> nicht denken, sondern wissen und notfalls nachsehn und auch debuggen

FindComponent ist aber eine Methode, welche in der Ownerbeziehung nachsieht.
In der VCL sind standardmäßig alle Komonenten mit der Form als Owner/Besitzer erstellt, weswegen dort fast immer das pure FindComponent funktioniert, da es dann gegen Self und somit über die Form läuft.
Beim With wird das aber umgebogen und schön läuft bei dir das eine FindComponent nicht mehr über die Form, sondern über's Edit und dein Edit ist nicht der Owner des Panel, also kann das Panel darin auch nicht gefunden werden.

With kann einem die Arbeit erleichtern, aber man muß aufpassen und wenn man keine Ahnung hat, dann sollte man es besser lassen.
PS: In XE2 sind jetzt einige Codes plötzlich kaputt, weil z.B. das TRect und TPoint endlich um ein paar nette Record-Methoden erweitert wurde, was vorallem bei sowas wie
With Listbox1,Edit1,Shape1,Myrect do einige Probleme bereitete.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat