Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Unterschied zw. .Create und "draufziehen" (https://www.delphipraxis.net/151498-unterschied-zw-create-und-draufziehen.html)

DelTurbo 20. Mai 2010 10:55


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....

http://www.delphipraxis.net/internal...t.php?t=177783

Vielen dank im voraus

mkinzler 20. Mai 2010 10:59

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.

DeddyH 20. Mai 2010 11:00

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.

himitsu 20. Mai 2010 11:01

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.

DelTurbo 20. Mai 2010 11:08

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:

DelTurbo 20. Mai 2010 11:21

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...

Stevie 20. Mai 2010 11:28

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 20:32 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz