Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Komponenten und Code kopieren (Form1 -> Form2) (https://www.delphipraxis.net/176094-komponenten-und-code-kopieren-form1-form2.html)

weisswe 12. Aug 2013 10:01

Komponenten und Code kopieren (Form1 -> Form2)
 
Hallo!

Wie ist die richtige Vorgehensweise wenn ich Komponenten + Code auf einem Form von einem Projekt in ein anderes kopieren möchte?
Das Kopierern der Komponenten und Code ist nicht das Problem.
Das Problem ist die Verbindung von Code zu Komponente.

Beispiel:
+ Form1: 5 TButtons kopieren
+ Form2: die kopierten Buttons einfügen -> OK
+ Form1: Code der 5 TButtons kopieren (Button1Click, Button2Click, ...)
+ Form2: den kopierten Code einfügen -> OK
Problem: in Form2 beim Button1Click wird der Code nicht ausgeführt.
Lösung: Muss immer bei allen Events einen Doppelklick machen, um die Komponente mit dem Code zu verbinden!!

Gibt es da eine bessere / richtige Lösung??

Danke,
Werner

Bernhard Geyer 12. Aug 2013 10:05

AW: Komponenten und Code kopieren (Form1 -> Form2)
 
Die richtige Vorgehensweise ist hier (wenn du mehr als 5 Zeilen kopierst) das in eine eigene Unit (bei GUI Frame) auszulagern und in beiden Fällen die dann einmal vorhandene Implementierung zu verwenden.

Perlsau 12. Aug 2013 10:10

AW: Komponenten und Code kopieren (Form1 -> Form2)
 
Wenn Ziel-Unit und -Form exakt denselben Inhalt und Aufbau von Quell-Unit und -Form beibehalten sollen, würde ich die beiden dazu notwendigen Dateien (QuellUnit.pas und QuellUnit.dfm) in das Zielverzeichnis kopieren und dann die Unit im Zielprojekt hinzufügen.

uligerhardt 12. Aug 2013 10:45

AW: Komponenten und Code kopieren (Form1 -> Form2)
 
Geht's, wenn du erst den Code kopierst und danach die Komponenten?

(Prinzipiell gebe ich natürlich Bernhard recht.)

Der schöne Günther 12. Aug 2013 11:05

AW: Komponenten und Code kopieren (Form1 -> Form2)
 
Das macht aber wahrscheinlich auch keinen Spaß, wenn man ein halbes oder ganzes Dutzend Eventhandler an einer Komponente kleben hat...

uligerhardt 12. Aug 2013 11:14

AW: Komponenten und Code kopieren (Form1 -> Form2)
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1224435)
Das macht aber wahrscheinlich auch keinen Spaß, wenn man ein halbes oder ganzes Dutzend Eventhandler an einer Komponente kleben hat...

Möglich. Aber mit dem Vorgehen hat sich der OP ja schon angefreundet. :mrgreen:

weisswe 12. Aug 2013 11:46

AW: Komponenten und Code kopieren (Form1 -> Form2)
 
Zitat:

Zitat von uligerhardt (Beitrag 1224432)
Geht's, wenn du erst den Code kopierst und danach die Komponenten?

(Prinzipiell gebe ich natürlich Bernhard recht.)

Das funktioniert leider auch nicht.

Uwe Raabe 12. Aug 2013 12:46

AW: Komponenten und Code kopieren (Form1 -> Form2)
 
Zitat:

Zitat von weisswe (Beitrag 1224438)
Zitat:

Zitat von uligerhardt (Beitrag 1224432)
Geht's, wenn du erst den Code kopierst und danach die Komponenten?

(Prinzipiell gebe ich natürlich Bernhard recht.)

Das funktioniert leider auch nicht.

Eigentlich funktioniert das schon. Die Verdrahtung der Event-Handler ist in der DFM hinterlegt und wird beim Kopieren mitgeführt. Nur wenn die Event-Handler beim Einfügen nicht mit dem passenden Namen existieren, werden die Events auf nil gesetzt. Das kann z.B. auch passieren, wenn schon eine gleichnamige Komponente im Ziel-Form existiert und die eingefügte Komponente dabei automatisch einen neuen Namen bekommt.

Eventuell bietet sich aber auch gleich ein Design mit Form-Vererbung oder die Verwendung von Frames an.


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