Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   FreePascal Komponente mit Ereignissen Kopieren (https://www.delphipraxis.net/163367-komponente-mit-ereignissen-kopieren.html)

stiftII 26. Sep 2011 20:12

Delphi-Version: 5

Komponente mit Ereignissen Kopieren
 
Hallo,

ihr habt mir heute schon gewaltig geholfen =D. Danke nochmal dafür.

Ich hab jetzt ein weiteres Problem. Ich möchte eine Komponente, mitsamt allen Ereignissen, die ich dafür angepasst habe zur Laufzeit kopieren.
Ist das "direkt Möglich", oder muss man dafür die Ereignisse alle einzeln zuweisen ?

Grüße
stiftII

stahli 26. Sep 2011 20:25

AW: Komponente mit Ereignissen Kopieren
 
Die Ereignisbehandlungen wirst Du einzeln zuweisen müssen.
Dazu kannst Du ja eine Prozedur verwenden, der Du Deine neuen Controls übergibst.

Es gibt die Möglichkeit, Frames zu verwenden, die mehrere Controls incl. Ereignisbehandlungen enthalten kann.
Das ist aber auch nicht in jedem Fall zweckmäßig.

Man kann natürlich auch eigene Komponenten ableiten (Stichwort Komponentenentwicklung), die die Ereignisse automatisch in besonderer weise behandeln (z.B. MyButton, der bei jedem Klick einen Beep erzeugt ;-))

himitsu 26. Sep 2011 20:34

AW: Komponente mit Ereignissen Kopieren
 
Über die RTTI wäre sowas schon möglich.
Genauso wie die VCL die Objekte speichert und später neu erstellt und mit Daten füllt.

Bei älteren Delphi-Versionen nur für die Published-Property.
Falls die Klasse mit gewissen Compilerschaltern kompiliert wurde, dann auch mit Public-Property.

Und über die neue (überladene) RTTI ala 2010/XE kommt man an fast alles ran.

stahli 26. Sep 2011 20:41

AW: Komponente mit Ereignissen Kopieren
 
Ich denke, der Hinweis wird für StiftII nicht sehr hilfreich sein...

Und selbst mit XE2 müsste man doch das originale Objekt untersuchen und über eine Iteration die einzelnen Methoden dem neuen Objekt zuweisen. Oder wie meintest Du das jetzt?

stiftII 26. Sep 2011 23:45

AW: Komponente mit Ereignissen Kopieren
 
Zitat:

Zitat von stahli (Beitrag 1126812)
Die Ereignisbehandlungen wirst Du einzeln zuweisen müssen.
Dazu kannst Du ja eine Prozedur verwenden, der Du Deine neuen Controls übergibst.

So mache ich es jetzt.

Danke danke :)

neo4a 27. Sep 2011 08:00

AW: Komponente mit Ereignissen Kopieren
 
Zitat:

Zitat von himitsu (Beitrag 1126813)
Über die RTTI wäre sowas schon möglich.

In Delphi genau so.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:06 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