Nicht-visuelle Komponenten vs stinknormale Objekte

Rund um die LCL und andere Komponenten
Antworten
Eclipticon
Beiträge: 292
Registriert: Sa 5. Feb 2011, 20:38
OS, Lazarus, FPC: Windows XP VirtualBox (FPC 2.6.4, Laz 1.2.4)
CPU-Target: 32Bit
Wohnort: Wien

Nicht-visuelle Komponenten vs stinknormale Objekte

Beitrag von Eclipticon »

Guten Morgen :-)

Ich denk gerade darueber nach ob es Sinn macht, einige Objekte, die bei mir so rumliegen, in nicht-visuelle Komponenten umzubauen ... und denke daher auch ueber Vor- und Nachteile der jeweiligen Loesungen nach.

Vorteile von nicht-visuellen Komponenten:
  • Kein Aufwand mit Erzeugung und Zerstoerung
  • Initiale Eigenschaften koennen im Objektinspektor bearbeitet werden, wenn published
Vorteile von einfachen Objekten:
  • Keine seltsamen Icons auf meinen Forms
  • Weniger Overhead (?)
Ich waere neugierig, was es dem von Eurer Seite noch hinzuzufuegen gibt ...

Schoenen Tag!

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Nicht-visuelle Komponenten vs stinknormale Objekte

Beitrag von Christian »

Also Overhead gibts eigentlich nicht bis auf den Eintrag in der lfm also 2 Zeilen Text.
Und das du das Objekt halt IMMER beim erzeugen des Forms erstellst und beim Zerstören des Forms zerstörst, was du u.U. sonst mit dem Objekt anders machen würdest.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Socke
Lazarusforum e. V.
Beiträge: 3178
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Nicht-visuelle Komponenten vs stinknormale Objekte

Beitrag von Socke »

Eclipticon hat geschrieben:Vorteile von einfachen Objekten:
  • Keine seltsamen Icons auf meinen Forms
  • Weniger Overhead (?)
Der Overhead besteht insbesondere aus:
  • Registrierung der Komponenten in Lazarus
  • Neukompilieren von Lazarus, wenn du deine Komponente änderst
Die beiden Punkte kannst du natürlich umgehen, indem du deine Komponenten nur zur Laufzeit erzeugst (solange du einen Owner angibst, werden sie immer noch automatisch von diesem freigegeben).

Ein (kleiner) Vorteil sind die Notifications, mit denen sich TComponent-Abkömlinge gegenseitig benachrichtigen können, wenn sie gelöscht werden. Das ist zwar nicht wirklich aufwändig selbst zu implementieren, aber wenn man es braucht, ist es schon da.
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten