Eigenschaft Left wird von Unbekannt verändert

Rund um die LCL und andere Komponenten

Eigenschaft Left wird von Unbekannt verändert

Beitragvon thomas55 » 25. Mär 2020, 13:24 Eigenschaft Left wird von Unbekannt verändert

Hallo liebe Forumsmitglieder,
nach langer Pause bin ich wieder bei Lazarus.
Ich möchte eine Angebotsanwendung bauen. Leider kommt bereits bei der ersten Form ein Hindernis daher.
Für die Bedienug der Daten habe ich DBNavigator + DBEdit + DBNavigator aneinandergereiht.
sieht in der Erstellung gut aus, wie gewünscht.
Nach Programmstart jedoch sind die Elemente nach links verschoben Jedenfalls wenn die Einstellung für Left auf DBNavigator1: 20
DBEdit1: 60
DBNavigator2: 220
steht. Dann wird die jeweilige Eigenschaft von irgendwas verändert auf: 17, 49, 200.
Das habe ich nicht programmiert.
Leider weiß ich nicht wie man Bilder hier einfügen kann.
Daher Bilder und unit1: https://mega.nz/#F!M8UFiIiC!V9VOFhTDnojCRWB9dZHtkA

Wenn ich die Left-Eigenschaft je um eins incrementiere oder dekrementiere geschieht das nicht.

Kann da jemand helfen?
thomas55
 
Beiträge: 12
Registriert: 25. Sep 2016, 13:24
Wohnort: Berlin, Wetterseite
OS, Lazarus, FPC: Win7 (L 1.6.xy FPC 3.0.0) | 
CPU-Target: 64Bit
Nach oben

Beitragvon af0815 » 25. Mär 2020, 15:08 Re: Eigenschaft Left wird von Unbekannt verändert

Die Frage ist, wie das gereiht hast ? Die Eigenschaften werden vermutlich durch definierte Anchors geändert.

Also entwerde durch die Einstellungen unter Align oder Anchors im Objectinspektor (OI) zu finden.

Ich mache Layouts mal grundsätzlich mit Anchors und seltener im Code.

Siehe auch
https://wiki.freepascal.org/Anchor_Sides/de
https://wiki.lazarus.freepascal.org/Autosize_/_Layout

Edit:
BTW: unter dem Editfenster im Forum gibt es Dateianhang hochladen. Und beim Hochladen bitte das *.pas UND *.lfm zippen und hochladen.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3924
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon wp_xyz » 25. Mär 2020, 16:44 Re: Eigenschaft Left wird von Unbekannt verändert

af0815 hat geschrieben:Und beim Hochladen bitte das *.pas UND *.lfm zippen und hochladen.

Und das lpr und lpi auch mit dazupacken, sowieevtl benötigte Datendateien. Aber keine exe, ppu und was auch immer der Compiler erzeugt. Sonst wird der Download zu groß.
wp_xyz
 
Beiträge: 3123
Registriert: 8. Apr 2011, 08:01

Beitragvon thomas55 » 25. Mär 2020, 20:08 Re: Eigenschaft Left wird von Unbekannt verändert

Danke für die Antwort.
Das mit den Anchor... habe ich nicht gemacht. Zum Anschauen und Testen habe ich das ganze mikroskopische Projekt in der Mega. Es ist ja kaum 7MB zipped.
... und versuche es hier anzuhängen. aaaah. geht doch.
Vielleicht tritt es ja bei Dir nicht auf. Die Projekt1.exe ist mit dabei. In der tritt es bei mir auf ; und auch in jeder Art Projekt neu komiliert.
Bin gespannt.

Gruß aus Berlin
Thomas
Zuletzt geändert von thomas55 am 27. Mär 2020, 09:08, insgesamt 1-mal geändert.
thomas55
 
Beiträge: 12
Registriert: 25. Sep 2016, 13:24
Wohnort: Berlin, Wetterseite
OS, Lazarus, FPC: Win7 (L 1.6.xy FPC 3.0.0) | 
CPU-Target: 64Bit
Nach oben

Beitragvon wp_xyz » 25. Mär 2020, 22:59 Re: Eigenschaft Left wird von Unbekannt verändert

Du hast anscheinend versucht die drei Elemente DBNavigator1, DBEdit1 und DBNavigato2r mit dem Anchor-Editor aneinander zu verankern und dabei die drei in einem verkorksten Zustand hinterlassen, weil keine der vier Anker-Checkboxes gesetzt ist, oder: weil im Objekt-Editor die Eigenschaft Anchors eine leere Menge ist. In diesem Zustand sind alle vier Seiten der Controls nicht verankert, d.h. haben einen Abstand zum entsprechenden Rand des Containers (hier: des Formualrs), der sich entsprechend der Formulargröße ändert.

Es gibt mehrere Möglichkeiten, das zu lösen:
  1. Lasse die Elemente akLeft und akTop in den Anchors gesetzt. Dadurch ist der Abstand nach links und oben immer konstant. Sorge aber vorher im Anchor-Editor dafür, dass die Comboboxen "Geschwister" im AnchorEditor leer (nil) sind, sonst tritt beim setzen der Häkchen der entsprechende Verankerung ein. Das reicht für "Wand- und Wiesen"-Anwendungen.
  2. Soll das Programm auch auf anderen WidgetSets gut aussehen, musst du komplett mit dem Anchor-Editor arbeiten, und die Controls aneinander verankern. Du kannst sie dann im Designer nicht mehr mit der Maus verschieben, kannst aber sicher sein, dass nichts überlappt. Das Schritt für Schritt zu beschreiben, wäre eine längere Aktion. Um das zu vermeiden habe ich dein Form1 mit dem Anker-Editor überarbeitet und alle Controls in der linken oberen Ecke aneinander verankert, so dass eine Größenveränderung auf einem anderen Betriebssystem zu keiner Überlappung führt. Öffne den Anker-Editor, klicke die einzelnen Controls an und schaue im AnkerEditor nach, welche Parameter gesetzt sind.
  3. Eine andere Möglichkeit mit demselben Ziel kommt ohne Anker-Editor aus und ginge z.B. auch in Delphi, wo es keinen AnkerEditor gibt. Setze ein Panel aufs Formular. DBNavigator1, DBEdit1 und DBNavigator2 kommen in dieses Panel. DBNavigator1 bekommt Align=alLeft, DBNavigator2 Align = alRight und DBEdit1 Align = alCenter. Zum Schluss wird noch das AutoSize des Panels auf true gesetzt. Die Breite des Edit kann man wegen des AutoSize nicht mehr mit der Maus verändern. Wenn du dir Breite ändern willst, dann kann man das in DBEdit1.Constraints.MinWidth machen.
Dateianhänge
unit1.zip
(3.08 KiB) 5-mal heruntergeladen
wp_xyz
 
Beiträge: 3123
Registriert: 8. Apr 2011, 08:01

Beitragvon thomas55 » 26. Mär 2020, 11:35 Re: Eigenschaft Left wird von Unbekannt verändert

wp_xyz, so ähnlich. Tatsächlich habe ich nur die Anker auf False gestellt. Frag nicht warum.
Nach Deiner Erklärung habe ich vieles mit den Ankern ausprobiert.
Nun glaube ich daß es mir klar geworden ist.

Tausend Dank und

Lg aus Berlin
Thomas
thomas55
 
Beiträge: 12
Registriert: 25. Sep 2016, 13:24
Wohnort: Berlin, Wetterseite
OS, Lazarus, FPC: Win7 (L 1.6.xy FPC 3.0.0) | 
CPU-Target: 64Bit
Nach oben

• Themenende •

Zurück zu Komponenten und Packages



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste

porpoises-institution
accuracy-worried