AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Komponenten in eigens Form auslagern während es läuft?
Thema durchsuchen
Ansicht
Themen-Optionen

Komponenten in eigens Form auslagern während es läuft?

Ein Thema von moelski · begonnen am 24. Okt 2006 · letzter Beitrag vom 24. Okt 2006
Antwort Antwort
Seite 1 von 2  1 2      
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#1

Komponenten in eigens Form auslagern während es läuft?

  Alt 24. Okt 2006, 09:07
Moin !

Ist es mit vertretbarem Aufwand folgendes machbar...

Wir haben sagen wir mal 3 Panles die übereinanderliegen und verschiedene komponenten beinhalten. Das ganze wäre auch bei einem PagelControl denkbar .. Über das Menü kann man die Seite ansehen die man haben will und das wars.

Nun wäre es aber cool wenn man die Komponenten eines Panels bzw. die auf einer Seite eines PageControl sind in ein eigenes Formular "verschiebt" und dieses anstatt des Panels anzeigt.
Hintergrund: Wir haben in unserer Soft z.B. eine Grafik und eine Tabelle die man aber im Normalfall nicht zusammen darstellen kann. Ab und an wäre aber eben dies mal ganz interessant. Wir möchten allerdings keine MDI Anwendung. Das würde zu viel Umstellung bedeuten.
Drum diese Idee und die Frage der Machbarkeit ...

Any hints?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Komponenten in eigens Form auslagern während es läuft?

  Alt 24. Okt 2006, 09:14
Du könntest gleichartige Komponenten dynamisch neu erzeugen und die Eigenschaften klonen.
Markus Kinzler
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Komponenten in eigens Form auslagern während es läuft?

  Alt 24. Okt 2006, 09:22
Moin !

Zitat:
Du könntest gleichartige Komponenten dynamisch neu erzeugen und die Eigenschaften klonen.
Kann man sicher so machen, hat aber aus meiner Sicht Nachteile ..

- höhere Speicherauslastung
- ich habe dann auch neue Komponentennamen (und wir nutzen ab und an die Komponentennamen der vorhandenen Komponenten)
- ich muss die Tabs bzw. Panel extra ausblenden
- ich muss im Code die neuen Komponentennamen mitführen und überwachen

Ich glaube die Lösung wäre suboptimal
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
hsg

Registriert seit: 24. Apr 2006
Ort: Wustermark
354 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Komponenten in eigens Form auslagern während es läuft?

  Alt 24. Okt 2006, 09:25
Es geht auch einfacher: Eine Leeres Formular erzeugen und den Panels dieses Formular zur Laufzeit als Parent zuweisen
pnTab.Parent := Form1; Gruß Jörg
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#5

Re: Komponenten in eigens Form auslagern während es läuft?

  Alt 24. Okt 2006, 09:27
Moin !

ui, das geht echt so easy? Das wäre ja cool!

Das sollte auch mit Panels und Tabs gehen oder? Bzw. zur Not auf das Tab ein Panel legen ...
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Sidorion

Registriert seit: 23. Jun 2005
403 Beiträge
 
#6

Re: Komponenten in eigens Form auslagern während es läuft?

  Alt 24. Okt 2006, 09:32
Dabei muss man alerdings beachten, dass der Owner beim alten Form liegen bleibt und die Variablen für die Komponenten auch. D.h. dass Du wenn das neue Form geschlossen wird, die Komponenten zumindest wieder zurückschieben musst.
Das Problem dabei ist nämlöich, dass sowohl die neue, als auch die alte Form die Komponenten mitzerstört (einmal über Owner, einmal über Parent) und wenn dann die jeweils andere Form zerstört wird, hagelts Exceptions.
Manchmal sehen Dinge, die wie Dinge aussehen wollen mehr wie Dinge aus, als Dinge
<Esmerelda Wetterwachs>
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Komponenten in eigens Form auslagern während es läuft?

  Alt 24. Okt 2006, 09:36
Moin !

Ok ..

Würde es dann reichen wenn ich im OnClose einfach den Parent wieder retour setze?
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von samson
samson

Registriert seit: 26. Aug 2003
Ort: Hövelhof Riege
105 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Komponenten in eigens Form auslagern während es läuft?

  Alt 24. Okt 2006, 09:38
Moin,

habe mal ein kleines Testprogramm gebaut.

Darauf kannst du aufbauen.

Gruß


Frank
Angehängte Dateien
Dateityp: zip unit1_318.zip (214,3 KB, 7x aufgerufen)
Frank Gellermann
Wer Informationen hat, hat Macht. Wer Macht hat, hat Informationen!!!
  Mit Zitat antworten Zitat
moelski

Registriert seit: 31. Jul 2004
1.110 Beiträge
 
Delphi 2010 Professional
 
#9

Re: Komponenten in eigens Form auslagern während es läuft?

  Alt 24. Okt 2006, 09:48
Moin !

Danke für die Demo!
In dem Pas fehlt allerdings der Code für den Button
Und beim schliessen von Form2 sollte ja dann alles wieder moven ...

Aber ich denke ich habe einen Ansatz den ich mal verfolgen kann.
Dominik Schmidt
Greetz Dominik

I love Delphi 2007/2010
  Mit Zitat antworten Zitat
Benutzerbild von samson
samson

Registriert seit: 26. Aug 2003
Ort: Hövelhof Riege
105 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Komponenten in eigens Form auslagern während es läuft?

  Alt 24. Okt 2006, 09:52
Moin,

in Unit1 steht doch für den Button der Code. Wenn der Button ins Form2 verschoben wird, wird trotzdem der Code aus Unit1 ausgeführt.

Die Event-Procedure ändert sich ja nicht.

Wie gesagt. Ist nur eine kleine Testapp. Wer, Was draus macht ist jedem selbst überlassen. Hauptsache der Ansatz ist da.

Gruß


Frank
Frank Gellermann
Wer Informationen hat, hat Macht. Wer Macht hat, hat Informationen!!!
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 17:34 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