Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Nicht sichtbare Komponenten auslagern? (https://www.delphipraxis.net/126730-nicht-sichtbare-komponenten-auslagern.html)

PeterPanino 1. Jan 2009 11:28


Nicht sichtbare Komponenten auslagern?
 
Oft sammeln sich eine Menge nicht sichtbarer Komponenten auf einem Formular an, was ziemlich störend ist. Gibt es eine Möglichkeit in Delphi 2009, diese nicht sichtbaren Komponenten entweder dauerhaft auszublenden oder in einem eigenen Container zu verpacken?

Klaus01 1. Jan 2009 11:43

Re: Nicht sichtbare Komponenten auslagern?
 
Hallo und ein gutes neues Jahr,

du kannst die Komponenten (bzw. der Objekte) auch manuell erzeugen.
Dies kannst Du dann auch in einer anderen Unit auslagern.

Grüße
Klaus

Hawkeye219 1. Jan 2009 11:46

Re: Nicht sichtbare Komponenten auslagern?
 
Hallo,

die GExperts bieten dieses Feature ab der Version 1.33 an ("Hide/Show Non-Visual").

Ein frohes neues Jahr wünscht

Hawkeye

PeterPanino 1. Jan 2009 11:50

Re: Nicht sichtbare Komponenten auslagern?
 
Zitat:

Zitat von Klaus01
Hallo und ein gutes neues Jahr,

Wünsche ebenfalls ein gutes neues Jahr!

Zitat:

Zitat von Klaus01
du kannst die Komponenten (bzw. der Objekte) auch manuell erzeugen.
Dies kannst Du dann auch in einer anderen Unit auslagern.

Grüße
Klaus

Das möchte ich lieber nicht, da ich Wert auf eine visuelle Darstellung dieser Komponenten zur Designzeit lege - aber eben nicht auf dem Formular.

Grüße,
PP

PeterPanino 1. Jan 2009 11:53

Re: Nicht sichtbare Komponenten auslagern?
 
Zitat:

Zitat von Hawkeye219
Hallo,

die GExperts bieten dieses Feature ab der Version 1.33 an ("Hide/Show Non-Visual").

Ein frohes neues Jahr wünscht

Hawkeye

Ja, aber eben nicht dauerhaft: Sobald man in das Formular klickt (und das macht man ja beim Entwerfen der Benutzeroberfläche), sind die Komponenten wieder sichtbar!

Ebenfalls ein frohes neues Jahr wünscht
PP

hanspeter 1. Jan 2009 13:12

Re: Nicht sichtbare Komponenten auslagern?
 
Packe sie doch alle in ein TDataModule?

Gruß Peter

Hawkeye219 1. Jan 2009 15:42

Re: Nicht sichtbare Komponenten auslagern?
 
Zitat:

Zitat von PeterPanino
Ja, aber eben nicht dauerhaft: Sobald man in das Formular klickt (und das macht man ja beim Entwerfen der Benutzeroberfläche), sind die Komponenten wieder sichtbar!

Hmm, das kann ich so nicht bestätigen. Dabei spielt es keine Rolle, ob der Designer eingebettet ist oder nicht. Die Dokumentation zu den GExperts sagt aber auch, dass nach dem Schließen und erneuten Öffnen eines Formulars die Controls wieder sichtbar sind. Beim Wechsel zwischen Text- und Formular-Darstellung ändert sich die Sichtbarkeit hingegen nicht.

Vielleicht kannst du ja mit einem Trick leben: mache das Formular temporär etwas breiter und verschiebe die Controls an den rechten Rand des vergrößerten Formulars. Danach kannst du das Formular wieder auf seine urspüngliche Breite bringen. Es ist sicher nicht ganz die Lösung, nach der du gesucht hast, aber sie sorgt zumindest für etwas Ordnung auf dem Formular.

Gruß Hawkeye

PeterPanino 1. Jan 2009 19:53

Re: Nicht sichtbare Komponenten auslagern?
 
Zitat:

Zitat von hanspeter
Packe sie doch alle in ein TDataModule?

Gruß Peter

Hab ich auch schon danach gesucht, aber gibt es auf Delphi 2009 offenbar nicht?

Gruß PP

mkinzler 1. Jan 2009 19:56

Re: Nicht sichtbare Komponenten auslagern?
 
Doch gibt es.

Die Muhkuh 1. Jan 2009 20:04

Re: Nicht sichtbare Komponenten auslagern?
 
Zitat:

Zitat von mkinzler
Doch gibt es.

Datei -> Neu -> Weitere -> Delphi-Dateien ;)

PeterPanino 1. Jan 2009 21:41

Re: Nicht sichtbare Komponenten auslagern?
 
Zitat:

Zitat von Die Muhkuh
Datei -> Neu -> Weitere -> Delphi-Dateien ;)

Wenn ich ein Datenmodul erzeuge, erzeugt Delphi 2009 eine neue Unit und stellt das Datenmodul dort dar. Wenn ich meine unsichtbaren Komponenten dort ablege, müsste ich ja immer wenn ich eine der unsichtbaren Komponenten im Quelltext verwende, auch das Datenmodul referenzieren, etwa: DataModule1.Mycomponent ... (oder mit with). Aber das ist doch äußerst umständlich??? Dann könnte ich ja gleich ein eigenes unsichtbares Formular nur für die unsichtbaren Komponenten verwenden? Gibt es keine Möglichkeit, die unsichtbaren Komponenten genauso wie jetzt zu verwenden?

Die Muhkuh 1. Jan 2009 21:45

Re: Nicht sichtbare Komponenten auslagern?
 
Naja, Du könntest noch über eine zusätzliche Property gehen:

Delphi-Quellcode:
TForm1 = class(TForm)
  [...]
  private
    property SomeComponent: TSomeComponent read GetSomeComponent;
end;

function TForm1.GetSomeComponent: TSomeComponent;
begin
  Result := DataModul.SomeComponent;
end;

blawen 1. Jan 2009 21:48

Re: Nicht sichtbare Komponenten auslagern?
 
Zitat:

Zitat von PeterPanino
Wenn ich meine unsichtbaren Komponenten dort ablege, müsste ich ja immer wenn ich eine der unsichtbaren Komponenten im Quelltext verwende, auch das Datenmodul referenzieren

Das ist korrekt, aber wenn Du statt DataModule1.Mycomponent nur dm.Mycomponent verwendets, hält sich der Zusatzaufwand in Grenzen.

PeterPanino 1. Jan 2009 21:57

Re: Nicht sichtbare Komponenten auslagern?
 
Zitat:

Zitat von Die Muhkuh
Naja, Du könntest noch über eine zusätzliche Property gehen:

Aber dann müsste man ja für jeden Komponenten-Typ eine eigene Property erstellen?

Die Muhkuh 1. Jan 2009 21:59

Re: Nicht sichtbare Komponenten auslagern?
 
Richtig und würde sich wirklich nur lohnen, wenn man die Komponenten so oft aufrufen muss.

PeterPanino 1. Jan 2009 22:00

Re: Nicht sichtbare Komponenten auslagern?
 
Jetzt ist Delphi in der Version 12 angekommen, und es gibt immer noch keine komfortable Lösung für dieses alltägliche Problem? :?

jaenicke 1. Jan 2009 22:17

Re: Nicht sichtbare Komponenten auslagern?
 
Naja, ich z.B. hatte damit noch nie ein Problem (und ich hatte durchaus auch schon sehr sehr viele auf einem Formular). ;-)

Aber warum legst du die Komponenten nicht einfach alle übereinander in eine Ecke, wenn dich die stören? Wenn du eines auswählen willst, kannst du das ja über die Komponentenliste (im bzw. über dem OI) tun und das dann ggf. etwas zur Seite ziehen, wenn du es öfter brauchst.

Und dann gibt es da noch TLMDHideNonVC, das soweit ich das gelesen habe auch in der kostenlosen Version der LMD Tools dabei ist. Diese Komponente kenne ich allerdings nicht selbst, sie soll aber die entsprechende Funktionalität haben.

Die Muhkuh 1. Jan 2009 22:20

Re: Nicht sichtbare Komponenten auslagern?
 
Hi,

in der SE-Variante der LMD-Tools (die kostenlose), ist die Komponente nicht enthalten.

PeterPanino 1. Jan 2009 22:51

Re: Nicht sichtbare Komponenten auslagern?
 
Zitat:

Zitat von jaenicke
ich z.B. hatte damit noch nie ein Problem

Naja, ich liebe bei der Arbeit eben Komfort über alles ... :wink:


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