Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Sidorion,
10. Okt 2007
So musst Du aber immer den genauen Typ kennen. TMyEdit kannst Du nicht als TMyLabel ansprechen usw., da ja die Basisklasse fehlt (sie haben keinen gemeinsamen Nenner). Sprich Du kannst Deine Elemente nicht in eine Liste packen (ausser als Controls vielleicht) und musst immer mit Is fragen, welches es ist (bei TMyEdit-Instanz in variable geht eben nicht TMylabel(variable).Property, wegen der...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Sidorion,
10. Okt 2007
Es gibt keine Pipi-Fälle. Durch diesen hast Du ja immerhin etwas grundlegend neues dazugelernt.
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Sidorion,
9. Okt 2007
Nein. Es reicht ein Cast. (MyObj As IMyInterface).MyWnd.
Wie gesagt, wenn man mit Interfaces arbeitet sollte man sowieso Interfacevariablen nutzen. Ist sozusagen eine weitere Abstraktionsstufe. Bei Objektorientierung habe ich einen schwarzen Kasten (einer bestimmten Art), an dessen Henkeln ich runschraube. Mit Interfaces Interessiert mich nichtmal mehr der Kasten, sondern nur noch, dass er...
Forum: GUI-Design mit VCL / FireMonkey / Common Controls
Delphi
by Sidorion,
9. Okt 2007
@jelly: natürlich musst Du die Methode bei einer Instanz rufen. Ich hab das T nur hingeschrieben, um zu zeigen, dass kein Cast oder Umweg über die implementierende Property notwendig ist.
Allerdings geht das nur, wenn Du eine Variable vom Typ TMyEdit hast. Ist die Variable vom Typ TEdit oder weiterer Vorgänger, musst Du erst auf das Interface casten (mit As) oder auf eine Variable vom Typ des...