Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form (https://www.delphipraxis.net/200869-fehler-beim-designen-kompo-rutscht-der-hierachie-durch-bis-auf-die-form.html)

Daniel L. 3. Jun 2019 13:05


Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Liste der Anhänge anzeigen (Anzahl: 3)
Bei einer Projekterstellung fallen auf einmal alle Kompos, die ich während der visuellen Entwicklung auf ein Panel ziehe, bis nach unten auf die Form durch!:roll:

Ich habe das Projekt jetzt zur Anschauung reduziert:

Auf einer Form liegt Panel1 und ein Button (der Button liegt aber nicht auf Panel1), sowie Panel2, welches auf Panel1 liegt.

Soweit so gut.

Ziehe ich nun eine neue Kompo auf Panel2, so rutscht diese in der Hierachie bis auf die Form durch!
Komischerweise bleibt sie dabei auf Panel2 sichtbar, sobald man aber Panel2 (oder auch Panel1) beweget, bleibt sie an der Form 'kleben', anstatt sich mitzubewegen:shock:.

In der dfm-Datei wird diese ungewollte Objekthierachie auch entsprechend eingetragen: Die neue Kompo wird in die Hierachie von Object 'form3' aufgenommen (und nicht wie sie eingentlich sollte in Hierachie Object 'Panel2).

So, und nun wirds ganz wild:

Sobald ich den Button (s.o.) lösche, wird das Verhalten wie erwartet:
D.h. eine Kompo, die nun auf Panel2 gezogen wird, landet auch dort (und wird auch in der dfm korrekt eingetragen).:gruebel:

Im Anhang ein Demoprojekt mit
  • Unit (pas)
  • Formular (dfm) (hab ich .dfm.pas genannt, um es hochladen zu können - ich hoffe, ich verstoße damit nichtg gegen eine Regel)
  • Projekt (dpr)

Es handelt sich dabei um eine reduzierte Fassung meines eigentlichen Projektes.
Wenn man das ganze als neues Projekt nachstellt, entsteht der Fehler auch.

Erstellt mit D 10.3 Community

Daniel

haentschman 3. Jun 2019 13:08

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Hallo...8-)

Ich konnte deinen Ausführung noch nicht folgen. Ich schaue mal drüber. :wink:
PS: Für das nächste Mal die Dateien in ein ZIP packen. :zwinker:

hoika 3. Jun 2019 13:56

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Hallo,
und Du wirklich benutzt keine TMS-Komponenten?
Wenn Du in deinem aktuellen Projekt ein neues Form erstellst, ist das Verhalten dann auch so?

Ich wurde mal alle dsk,dproj und wie die Dinger nicht alle heißen, löschen. (nach einer Sicherheitskopie ;))

Daniel L. 3. Jun 2019 15:13

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Zitat:

Zitat von hoika (Beitrag 1433730)
Hallo,
und Du wirklich benutzt keine TMS-Komponenten?
Wenn Du in deinem aktuellen Projekt ein neues Form erstellst, ist das Verhalten dann auch so?

Ich wurde mal alle dsk,dproj und wie die Dinger nicht alle heißen, löschen. (nach einer Sicherheitskopie ;))

Nein, keine TMS Komponeten (kenne ich garnicht)

Das ganze ist ja schon reduziert auf dpr, pas und dfm - die anderen 'Dinger' sind ja schon alle weg.

Wenn ich in dem aktuellen Projekt ein neues Form erstelle, ist das Verhalten manchmal normal.
Jetzt könnte ich alle Kompos auf das neue Form kopieren und auch den ganzen Code in die neue Unit, und die neue Form dann zu Mainform erklären und dann die alte aus dem Projekt entfernen oder so, aber wär schon ein ziemliches Gewürge.

Hast du das Projekt im Anhang mal getestet?
Der Fehler kann eignentlich nur in der dfm zu finden sein - aber ich finde keinen...

Daniel

hoika 3. Jun 2019 15:19

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Hallo,
nein, habe ich nicht;) habe kein 10.3.

Wieso gewürge?
Kopiere den Inhalt der DFM über die Zwischenablage in eine leere Textdatei (über notepad erzeugen und speichern).
Dann hast Du schon mal kein verstecktes Unicode-Zeug drin (*hoff).
Das gleiche mit der Pas.
(Und schau Dir deine DPR mal an, du hattest nicht geschrieben, dass es das Hauptform ist.)

Daniel L. 3. Jun 2019 15:41

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Hab die pas und dfm mit Texteditor neu gespeichert (als ansi).
Ein Dateinverlglich mit HxD ergibt, dass sie identisch mit den Originalen sind.
Du kannst mein Angänge auch mit einer älteren Version testen - ich habs gerad mit TurobDelphi (2006) getestet und der Fehler tritt auch dort auf!

Daniel L. 3. Jun 2019 18:47

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
der Fehler entsteht generell auch bei neuen Projekten!

Probiert mal folgendes (in der Reihenfolge!)
  • Neue Vcl Anwendung
  • Button1 auf das Form ziehen
  • Panel1 auf das Form ziehen
  • Panel2 auf Panel1 ziehen
  • Button2 auf Panel2 ziehen
    --> Fehler (Button2 rutscht aufs Form, merkt man, wenn man Panel1 oder Panel2 verschiebt):shock:

Hab ich da was überhaupt nicht begriffen???

getestet mit TurboDelphi und Community

hoika 3. Jun 2019 18:54

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Hallo,
Zusatzkomponenten installiert (CNPack ?).

hoika 3. Jun 2019 18:57

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Hallo,
ich kann es auch nachvollziehen (mal mit D2007 probiert).
Bei Nutzung von GroupBox statt Panels rutscht der Button nur nach GroupBox1 ...

Daniel L. 3. Jun 2019 19:05

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Rutscht bei mir auch mit Groupbox1/2 bis auf Form.

Ja was ist denn da los:?:

hoika 3. Jun 2019 19:12

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Hallo,
das war bei mir bei den TMS-Komponenten immer so.
Dass es auch bei den "normalen" VCL-Komponenten so ist, tja ;(

Daniel L. 3. Jun 2019 23:55

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Hmm,

im Designmodus scheint sich der Compiler also bei einer bestimmten Konstellation mit der Hierachie-Reihenfolge zu verhaspeln.
(Die betroffene Komponente landet in der dfm-Datei dann in dem falschen object-end Block)

Das würde ich mal einen Bug nennen, der aber offensichtlich selten auftaucht, wobei er anscheinend schon Jahre existiert:o

Man kann den Fehler dann händisch in der dfm korrigieren, wobei dann auch TabOrder, Top und Left korrigiert werden muß!

Daniel

Luckie 4. Jun 2019 01:06

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Und was, wenn du Button1 ausschneidest und auf Panel2 einfügst?

Der Editor scheint sich das Parent zu merken beim Verschieben. Du schiebst es zwar optisch auf Panel2, aber die Form1 bleibt wohl das Parent, so dass er sich dann zwar an der neuen Position befindet, aber immer noch der Form1 gehört und nicht dem Panel2. Ist ja auch logisch, woher soll der Editor wissen, dass jetzt Panel2 das Parent sein soll, nur weil du es über das Panel gezogen hast? Du hast es ja nur verschoben auf der Form, aber nicht IN das Panel2 fallen lassen.

Gehen wir vom umgekehrten Verhalten aus. (Ok, etwas konstruiert, aber das soll uns jetzt nicht weiter stören.) Der Editor macht den Button1 automatisch zum Child von Panel2 bei der Aktion. Jetzt willst du aber das Panel2 zur Laufzeit nutzen, um den Button zu verbergen. Das würde jetzt auch nicht funktionieren, da ja Panel2 das Parent ist und nicht, wie gewünscht, die Form1.

Kurz: Das Verhalten ist durchaus nachvollziehbar aus der Sicht des Editors. Die Entwickler musste sich für ein Verhalten entscheiden und haben sich für das wohl intuitievere und aus ihrer Sicht logischere entschieden.

jaenicke 4. Jun 2019 05:36

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Daniel L. (Beitrag 1433763)
der Fehler entsteht generell auch bei neuen Projekten!

Probiert mal folgendes (in der Reihenfolge!)

// EDIT (nicht richtig geschaut):
Bei mir landet der Button dann auf Panel1. Klicke ich die Komponente in der Palette aber nur an und dann auf das Ziel oder ziehe auf dem Ziel das Rechteck auf, so landet der Button auf Panel2.

Da die meisten (mich eingeschlossen) wohl eher letzteres machen dürften, ist das noch nicht groß aufgefallen. Ich finde es auch sehr viel sinnvoller als die Komponente erst in der Standardgröße auf das Formular zu ziehen mit einem langen Dragvorgang und dann die Größe zu ändern.

hoika 4. Jun 2019 06:20

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Hallo,
ich habe mich daran gewöhnt.
Meistens nehme ich eine auf dem Form existierende Komponente (z.B. eine Label) und kopiere sie
an die gewünschte Position/auf die gewünschte Komponente.

Rollo62 4. Jun 2019 07:24

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Manchmal hilft es die Zielkomponente im Struktureditor vorher zu markieren, und dann ein Doppelclick auf das neue Control in der Toolbar zum Einfügen benutzen.

jaenicke 4. Jun 2019 07:34

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Zitat:

Zitat von Rollo62 (Beitrag 1433799)
Manchmal hilft es die Zielkomponente im Struktureditor vorher zu markieren, und dann ein Doppelclick auf das neue Control in der Toolbar zum Einfügen benutzen.

Einfacher ist es aber wie ich schon geschrieben habe einfach auf die Komponente zu klicken und dann am Ziel zu klicken oder ein Rechteck aufzuziehen. Das halte ich ohnehin für die schnellste Variante.

Rollo62 4. Jun 2019 07:38

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Zitat:

Zitat von jaenicke (Beitrag 1433800)
Zitat:

Zitat von Rollo62 (Beitrag 1433799)
Manchmal hilft es die Zielkomponente im Struktureditor vorher zu markieren, und dann ein Doppelclick auf das neue Control in der Toolbar zum Einfügen benutzen.

Einfacher ist es aber wie ich schon geschrieben habe einfach auf die Komponente zu klicken und dann am Ziel zu klicken oder ein Rechteck aufzuziehen. Das halte ich ohnehin für die schnellste Variante.

Ja klar, mache ich auch meistens so, wenn es direkt nebeneinander liegt.
Bei vielen Komponenten, die dann über mehrere Seiten gezogen werden müssten, ist vielleicht die Vorauswahl einfacher.
Funktioniert aber auch nicht immer bei mir.
Mal so, mal so, ist vielleicht Geschmackssache.

Daniel L. 4. Jun 2019 10:09

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Zitat:

Zitat von jaenicke (Beitrag 1433790)
Klicke ich die Komponente in der Palette aber nur an und dann auf das Ziel oder ziehe auf dem Ziel das Rechteck auf, so landet der Button auf Panel2.

Ah - das ist der entscheidene Punkt!:!:

Ich hab neue Komponenten immer aufs Formular gezogen (seit Delphi 2),
und sie sind immer da gelandet, wo ich sie losgelassen hatte - bis gestern!

Der Fehler (oder besser das unerwartete Verhalten) entsteht nicht,
wenn die neue Komponente einmal in der Palette angecklickt, und dann auf der entsprechenden Containerkomponente durch erneutes Klicken eingefügt wird.

Danke jänicke!

Daniel

jaenicke 4. Jun 2019 11:18

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Zitat:

Zitat von Daniel L. (Beitrag 1433817)
Der Fehler (oder besser das unerwartete Verhalten) entsteht nicht,
wenn die neue Komponente einmal in der Palette angecklickt, und dann auf der entsprechenden Containerkomponente durch erneutes Klicken eingefügt wird.

Man kann auf dem Weg übrigens nicht nur direkt die Komponente per Aufziehen eines Rechtecks direkt auf die richtige Größe bringen, sondern man kann auch Shift + Klick auf die Komponente in der Palette machen.
Dann kann man direkt mehrere gleiche Komponenten einfügen ohne diese erneut in der Palette anzuklicken.

Daniel L. 4. Jun 2019 13:08

AW: Fehler beim designen: Kompo rutscht in der Hierachie durch bis auf die Form
 
Zitat:

Zitat von jaenicke (Beitrag 1433824)
Dann kann man direkt mehrere gleiche Komponenten einfügen ohne diese erneut in der Palette anzuklicken.

oh - wie praktisch!


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