Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Prism WinForms: Aufteilen des Formulars mit TPanel (https://www.delphipraxis.net/15201-winforms-aufteilen-des-formulars-mit-tpanel.html)

Jens Schumann 23. Jan 2004 19:27


WinForms: Aufteilen des Formulars mit TPanel
 
Hallo,
ich habe etwas sehr merkwürdiges Entdeckt. Ich habe ca 1,5 Stunden für folgende Erkenntnis benötigt.

Bis Delphi 7 hat man einfach ein paar TPanel auf das Formular gesetzt und die Align Property
gesetzt. Fertig.

Bei einer Delphi 8 WinForm Anwendung bin ich genauso rangegangen und es klappte nicht.
Panel1.Dock auf Fill gesetzt und Panel2.Dock auf Top. Panel1 hat das ganze Formular ausgefüllt
und sich unter Panel2 geschoben. - Verdammt -

Achtung: Bei der Dock Property ist die Erstellungsreihenfolge der Komponenten entscheidend.
Siehe in der OH unter "Exemplarische Vorgehensweise: Erstellen einer Multipane-Benutzeroberfläche mit Windows Forms"

Erst als ich Panel1 gelöscht habe und ein weiteres Panel (Panel3.Dock = Fill) eingefügt habe funktionierte es wie gewünscht.

Das ist doch lächerlich - oder was ?

mirage228 24. Jan 2004 09:09

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Also bei mir hat das auch funktioniert wenn ich zuerst das Panel mit .Dock=Fill und danach erst das Panel .Dock=Top erstellt habe...

mfG
mirage228

CalganX 24. Jan 2004 09:28

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Hi,
das ist ein Fehler des Formdesigners von Borland. Das gleiche Problem gibt es beim C#Builder! Aber bei Microsoftprodukten scheinbar nicht.

Das habe ich auch schon zu sakura gesagt: Es ist Standard geworden den USer als Beta-Tester zu missbrauchen. :evil:

Chris

mirage228 24. Jan 2004 09:30

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Zitat:

Zitat von Chakotay1308
Hi,
Es ist Standard geworden den USer als Beta-Tester zu missbrauchen. :evil:
Chris

Zum Glück ist es noch nicht so schlimm, wie bei den Computerspielen...

EDIT: Aber wieso kann ich den Fehler nicht genau reproduzieren? Hm.. mal schauen...
EDIT2: Ok, das ist wirklich nen Bug (aber die 52Sek. Startzeit und lahme Oberfläche sind schlimmer IMHO)

mfG
mirage228

CalganX 24. Jan 2004 09:32

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Hi,
stimmt. Aber daher kommt dieses "Ritual". :(
Trotzdem ist es fatal. Später fängt Borland damit an, wie Macromedia: um einen Fehler zu beheben musst du den Patch kaufen für einiges ?uronengeld. :|

Chris

Jens Schumann 24. Jan 2004 09:39

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Hallo
Zitat:

Zitat von Chakotay1308
das ist ein Fehler des Formdesigners von Borland

das glaube ich nicht. 1. Wird dieses Verhalten in der OH beschrieben. 2. Wenn ich es richtig verstanden haben ist die IDE nicht von Borland, sondern kommt aus dem .NET Framework.

r_kerber 24. Jan 2004 11:39

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Zitat:

Zitat von mirage228
EDIT2: Ok, das ist wirklich nen Bug (aber die 52Sek. Startzeit und lahme Oberfläche sind schlimmer IMHO)

Weil Delphi 8 eine .net-Anwendung ist und bei jedem Start vom JIT in Maschinencode übersetzt wird. Und alles was der GC irgendwann mal in's Nirvana geschickt hat, muß auch wieder neu compiliert werden! Abhilfe: Möglichst viel Hauptspeicher, damit der Garbage Collector nicht so oft aufräumen muß. Auf der Roadshow wurde gesagt, mindestens 512 MByte besser wäre 1GByte! :-(

Jens Schumann 24. Jan 2004 11:42

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Zitat:

Zitat von Jens Schumann
Wenn ich es richtig verstanden haben ist die IDE nicht von Borland, sondern kommt aus dem .NET Framework.

Das ist wohl falsch. Ich glaube nur der Formdesigner kommt aus dem Framework.

r_kerber 24. Jan 2004 11:48

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Zitat:

Zitat von Jens Schumann
Das ist wohl falsch. Ich glaube nur der Formdesigner kommt aus dem Framework.

Stimmt. Aus dem .net-Framework kommen Teile der IDE, wie z.B. der Formdesigner und der Quellcode-Editor. Borland hat diese fertigen Komponenten nur genommen und "zusammengebastelt".

mirage228 24. Jan 2004 12:47

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Zitat:

Zitat von r_kerber
Zitat:

Zitat von mirage228
EDIT2: Ok, das ist wirklich nen Bug (aber die 52Sek. Startzeit und lahme Oberfläche sind schlimmer IMHO)

Weil Delphi 8 eine .net-Anwendung ist und bei jedem Start vom JIT in Maschinencode übersetzt wird. Und alles was der GC irgendwann mal in's Nirvana geschickt hat, muß auch wieder neu compiliert werden! Abhilfe: Möglichst viel Hauptspeicher, damit der Garbage Collector nicht so oft aufräumen muß. Auf der Roadshow wurde gesagt, mindestens 512 MByte besser wäre 1GByte! :-(

Na super, ich hab ein Gigabyte RAM und es läuft trotzdem sau langsam (prozessor ist 1.5 Ghz) :?

Jens Schumann 24. Jan 2004 17:20

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Hallo,
ich habe 1 GByte RAM und einen P4 3GHz und alles läuft flüssig.

mirage228 24. Jan 2004 17:41

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Bei mir läuft es teils auch "flüssig", aber z.B. das Hinzufügen von Komponenten auf das Formular oder wechseln zwischen Design und Code-Mouds dauert relativ lange, wenn man es mit Delphi Win32 vergleicht...

mfG
mirage228

dizzy 24. Jan 2004 18:06

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Je mehr ich drüber lese, desto weniger mag ich .NET.

Das ist für mich schon jetzt Synonym für: Langsamkeit, Versions-Wirrwarr, Update-Trächtigkeit und Eingrenzung. Ich kann dieser Entwicklung so rein garnichts abgewinnen, wie auch jeder anderen Form von JIT. JIT ist eigentlich uralt, und nicht wirklich stand der Dinge. Jetzt hat man es wieder ausgegraben, und alle finden's toll. Ich nicht. Da besser für jede Plattform einzeln kompilieren! Bei Web-Anwendungen... okay, aber für den Desktopeinsatz halte ich diesen Ansatz für grundsätzlich ungeeignet. :?

Und ich schätze auch, mal jetzt ganz mutig gemutmaßt, dass sich .NET nicht sehr lange halten wird. Zumal es sicherlich irgendwann auch los geht, wie bei JAVA, dass Brüche mit den Spezifikationen auftauchen und im Endeffekt MS die anderen wegdrängen will, und auch sonst jeder sein eigenes Süppchen kocht. Kennt man doch.


Just my 2 cents,
dizzy

Alexander 24. Jan 2004 18:38

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Zitat:

Zitat von dizzy
Je mehr ich drüber lese, desto weniger mag ich .NET.

Das ist für mich schon jetzt Synonym für: Langsamkeit, Versions-Wirrwarr, Update-Trächtigkeit und Eingrenzung. Ich kann dieser Entwicklung so rein garnichts abgewinnen, wie auch jeder anderen Form von JIT. JIT ist eigentlich uralt, und nicht wirklich stand der Dinge. Jetzt hat man es wieder ausgegraben, und alle finden's toll. Ich nicht. Da besser für jede Plattform einzeln kompilieren! Bei Web-Anwendungen... okay, aber für den Desktopeinsatz halte ich diesen Ansatz für grundsätzlich ungeeignet. :?

Und ich schätze auch, mal jetzt ganz mutig gemutmaßt, dass sich .NET nicht sehr lange halten wird. Zumal es sicherlich irgendwann auch los geht, wie bei JAVA, dass Brüche mit den Spezifikationen auftauchen und im Endeffekt MS die anderen wegdrängen will, und auch sonst jeder sein eigenes Süppchen kocht. Kennt man doch.


Just my 2 cents,
dizzy

Kann ich eigentlich nciht zu stimmen. Denn wenn eine .NET Anwendung ersteinmal gestartet ist, dann läuft die eigentlich auch recht schnell, da sie halt optimiert für Prozessor, OS, ... ist. Das mit dem Updates stimmt wohl, aber das liegt daran, dass .NET jetzt eigentlich ncoh in den Kinderschuhen steckt und es wohl noch einige Zeit braucht bis es sich wirklich lohnt darauf umzusteigen. Im Serverbereich lohnt es sich vielleicht jetzt schon (gerade 2 CPUs sollten gehörig Dampf machen ;-)).
Aber war es nicht vor etlichen Jahren das gleiche als man von der DOS-Oberfläche auf eine Grafische gewechselt hat?

Ich bin der absoluten Meinung, dass sich .NET durchsetzen lässt. Denn gerade für den Programmierer ergeben sich auch etliche Vorteile (mal abgesehen von der Umarbeitung von WinAPI auf.NET). Natürlich sind die Vorteile für die Endnutzer auch nicht klein (Sicherheit, GEschwindigkeitsvorteile, die wahrscheinlich erst später richtig sichtbar werden)....

PS: Bei mir läuft es eigentlich auch recht flüssig. Der Compiler von Borland ist aber wirklich etwas langsamer als der von vorherigen Versionen...

skyware 15. Mär 2005 14:00

Align und Dock / Ausrichten von Komponenten auf Panels
 
Hallo,

nochmals ein merkwürdige Entdeckung Betreff Align (Delphi 6) und Dock (Delphi 2005 NET).
Wenn ich in Delphi 6 ein Panel habe, und darauf dann nacheinander 6 Labels
mit Align alLeft erstelle, ist auch das zuerst erstellte Label ganz links.
Wenn ich noch dasselbe mit Delphi 2005 NET mittels Dock mache ist das zuerst
erstellte Label dann ganz rechts... :gruebel: wisst ihr was ich meine?

Mach ich da was falsch oder ist das nunmal einfach so? :drunken:
Hat hier jemand ne Lösung?

Robert_G 15. Mär 2005 14:19

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Ich weiß gar nicht, was ihr habt? :gruebel:
Dock basiert nunmal darauf, welches Control im Vordergrund und welches dahinterliegt.
Ein simples Bring to front im Designer/Code und es wird "oben" draufgelegt. Bei DockStyle.Left landet es also rechts hinter den nderen docked Controls.
Jetzt gleich wieder so eine Rumzickerei wie in dem anderen Thread loszutreten...
Nur weil Ulti rumheult, weil er mal wieder was nicht kapiert hat... :roll:

p.s.: Es gibt da auch so etwas nettes wie eine Dokumentation für's .Net SDK.
Aber ich weiß schon... Dokus sind was für Weicheier oder Idioten, die in Foren anderen helfen müssen, die wiederum zu faul zum Lesen der Doku sind. :evil:

nieurig 15. Mär 2005 14:30

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Hallo Jens,
bei Delphi 7 kam es auf die Reihenfolge an, in der man Align einstellt. Bei .NET kommt es auf die Erstellungsreihenfolge an. Diese kann mit toFront / toBack (unter MS-Visual Studio) in groben Zügen beeinflußt werden.

Niels

[edit]Mist, habe ich nicht aufgepaßt und Robert war schneller. Trotzdem ist es so :-) [/edit]

skyware 15. Mär 2005 14:34

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Hallo Robert,

das war doch keine Rumzickerei...ich hab doch nur eine normale
Frage gestellt.
Ich erzeuge die Panels und die draufliegenden Labels dynamisch
und fand halt einfach keine Erklärung wieso die Ausrichtungen
unterschiedlich sind.
Werde jetzt also mal nachschauen was sich da mit
Bring to Front machen lässt.
Danke :thumb:

Robert_G 15. Mär 2005 14:39

Re: WinForms: Aufteilen des Formulars mit TPanel
 
Zitat:

Zitat von skyware
Hallo Robert,

das war doch keine Rumzickerei...ich hab doch nur eine normale
Frage gestellt.

Dich hatte ich auch gar nicht gemeint. ;) (Jedenfalls nicht mit dem Rumzicken, eher mit dem nicht-Lesen der Doku )
Ich habe gerade erst gesehen, dass die Beiträge weiter oben älter sind. :oops:
Es kaum mir so vor, als ob sich auch hier die créme de lá créme der "Nicht .Net'er" trifft um über die Nachteile von .Net zu philosülzisieren. ;)

skyware 15. Mär 2005 14:50

Re: WinForms: Aufteilen des Formulars mit TPanel
 
ich hab nix gegen .NET, bin ja dran mich damit auseinanderzusetzen.
Und da Du mir so ein schlechtes Gewissen eingeredet hast
schlag ich mich momentan auch mit der Help rum..von layering bis locking :wink:
Nur werd ich momentan noch nicht schlau draus was das BringToFront (z-layer) mit
der Ausrichting ala Dock (x-layer) zu tun hat :gruebel:


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