![]() |
Unterschied zw. .Create und "draufziehen"
Hi,
ich habe ein prob. Nun frage ich mich ob es ein grundsätliches ist. Gibt es einen unterschied zw. einem objekt draufziehen auf die form, und einem .Create??? Wenn ich ein objekt draufziehe sind ja bestimmte werte voreingestellt. Werden die auch beim .Create eingestellt? Grund der frage ist folgender thread.... ![]() Vielen dank im voraus |
Re: Unterschied zw. .Create und "draufziehen"
Nein. Die in der IDE angelegten Objekte (und deren Eigenschaftswerte) werden persistent die dfm-Datei geschrieben. Diese wird beim Erzeugen der Exe in eine Ressource geschrieben. Beim Starten des Programmes werden diese dann vom Konstruktor der Form geladen.
|
Re: Unterschied zw. .Create und "draufziehen"
Das sollte im Allgemeinen keinen Unterschied machen, da in beiden Fällen ja der Konstruktor aufgerufen wird. Allerdings könnte es möglich sein, dass im Code der ComponentState ausgewertet oder eine Ereignisbehandlung für Loaded implementiert wird, dann kann es doch wieder Unterschiede geben.
|
Re: Unterschied zw. .Create und "draufziehen"
Die Standardwerte über den VCL-Designer (draufziehen) sind die selben, wie bim dynamischen Erzeichen (.Create) ... einzi und alleine ein .Name wird von der VCL generiert, da dieser für die DFM-Verwaltung nötig ist. Beim Dynamischen ist der Name erstmal leer.
Auch Owner und Parent werden über die VCL automatisch verwaltet. > Owner = die Form > Parent = das Control, in welcher die Komponente dargestellt wird, wie immer halt Nja und die Position. |
Re: Unterschied zw. .Create und "draufziehen"
Hui,
erstmal vielen dank für die antworten. Hmmm, dann versteh ich nicht warum ich dieses prob habe. Dann dürfte es ja wirklich gehobst wie gesrpungen sein, ob ich die 3 objekte draufziehe und in der IDE die daten eintrage, oder aber dynamisch erzeuge und die werte zur laufzeit eintrage... sorry, aber das versteh ich nu grad nicht.... :gruebel: |
Re: Unterschied zw. .Create und "draufziehen"
BIONG!!!!
Ich habs. Ich habe einfach mal alles rückwärts gemacht. Also draufgezogen und dann nach und nach die einträge gelöscht und zur laufzeit eingegeben. Und schon sprang es mir ins auge. Manchmal kann man stundenlang draufgucken und findet nix. Fakt ist das wenn man über den Socks geht PassiveUseControlHost nicht auf True sondern False sein muss... Trotzdem vielen dank für eure hilfe. Nun weiss ich wenigstens das es keinen unterschied macht, ob ich was zur laufzeit erstelle oder draufziehe... |
Re: Unterschied zw. .Create und "draufziehen"
Benutze mal die Funktion Component to Code von den GExperts (Rechtsklick auf eine Komponente im Designer) und schau dir an, ob der genauso aussieht, wie du ihn manuell erstellt hast. Beachte außerdem die Erstellungsreihenfolge (auch im Kontextmenu im Designer) deiner Komponenten.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:37 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz