Im Formdesigner gehen Einstellungen verloren

Hier werden, insbesondere in den Beta-Phasen, Bugmeldungen gepostet. Das offizielle BugForum ist allerdings hier.
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Im Formdesigner gehen Einstellungen verloren

Beitrag von derschutzhund »

Hallo zusammen,

ich arbeite mit 5.11 x.86 unter Windows XP und unter Linux.
In beiden Betriebssystemen habe ich den gleichen Effekt, dass manchmal die Einstellungen "rechts einrasten" und "unten einrasten" verloren geht.
Ich habe im Prog. ein Panel in dem auf verschiedenen Seiten z.B. ein Editorgadget, Buttons, CanvasGadget mit dem Formdesigner eingebaut wurden.
Regelmäßig verlieren diese Elemente die beiden Einstellungen.
Hat noch jemand diesen Effekt beobachtet oder ist er vielleicht inzwischen schon behoben?

Code: Alles auswählen

Global Window_1

Global Panel_0, Editor_0

Declare ResizeGadgetsWindow_1()


Procedure OpenWindow_1()
  Window_1 = OpenWindow(#PB_Any, 0, 0, 600, 400, "", #PB_Window_SystemMenu | #PB_Window_MinimizeGadget | #PB_Window_MaximizeGadget | #PB_Window_SizeGadget)
  Panel_0 = PanelGadget(#PB_Any, 38, 63, 532, 317)
  AddGadgetItem(Panel_0, -1, "Tab 1")
  Editor_0 = EditorGadget(#PB_Any, 10, 10, 512, 268)
  AddGadgetItem(Panel_0, -1, "zweite")
  CloseGadgetList()
EndProcedure

Procedure ResizeGadgetsWindow_1()
  Protected WindowWidth, WindowHeight
  WindowWidth = WindowWidth(Window_1)
  WindowHeight = WindowHeight(Window_1)
  ResizeGadget(Panel_0, 38, 63, WindowWidth - 68, WindowHeight - 83)
                        ; die folgende Zeile geht immer verloren!!!
  ResizeGadget(Editor_0, 10, 10, GetGadgetAttribute(Panel_0,#PB_Panel_ItemWidth) - 20, GetGadgetAttribute(Panel_0,#PB_Panel_ItemHeight) - 20)

EndProcedure

Procedure Window_1_Events(event)
  Select event
    Case #PB_Event_SizeWindow
      ResizeGadgetsWindow_1()
    Case #PB_Event_CloseWindow
      ProcedureReturn #False

    Case #PB_Event_Menu
      Select EventMenu()
      EndSelect

    Case #PB_Event_Gadget
      Select EventGadget()
      EndSelect
  EndSelect
  ProcedureReturn #True
EndProcedure

LG

Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Im Formdesigner gehen Einstellungen verloren

Beitrag von derschutzhund »

Könnt ihr diesen Fehler nicht produzieren?
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: Im Formdesigner gehen Einstellungen verloren

Beitrag von Kiffi »

derschutzhund hat geschrieben:Könnt ihr diesen Fehler nicht produzieren?
ja, kann ich. Sobald ich in der Code-Ansicht etwas in der
Resize-Prozedur ändere, wird der gesamte Block entfernt.

Beispiel:

Code: Alles auswählen

Procedure ResizeGadgetsfrmMain()
  Protected WindowWidth, WindowHeight
  WindowWidth = WindowWidth(#frmMain)
  WindowHeight = WindowHeight(#frmMain)
  ResizeGadget(#myButton, WindowWidth - 152, 8, 144, 40)
EndProcedure
Mein PB2Web-Parser mag das hier nicht:

Code: Alles auswählen

  Protected WindowWidth
  WindowWidth = WindowWidth(#frmMain)
Deshalb habe ich es umbenannt in

Code: Alles auswählen

  Protected ww
  ww = WindowWidth(#frmMain)
Wenn ich das Ganze speichere flippt der Designer in die Layout-Ansicht
und der ResizeGadgetsfrmMain()-Block ist auf Nimmerwiedersehen weg.

Allein schon der Wechsel von Layout- und Code-Ansicht ändert den Code
(zu erkennen am Sternchen im Tab), obwohl definitiv nichts geändert wurde.

Im Moment ist es ziemlich frustrierend mit diesem Teil arbeiten zu müssen.

Alle Nase lang zerlegt es mir die IDE, teilweise reproduzierbar, teilweise aus
heiterem Himmel.

Grüße ... Kiffi
Hygge
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Im Formdesigner gehen Einstellungen verloren

Beitrag von derschutzhund »

ja, kann ich. Sobald ich in der Code-Ansicht etwas in der
Resize-Prozedur ändere, wird der gesamte Block entfernt.
Das habe ich ja noch nicht mal gemacht!
Alle Einstellungen, was das Formular angeht, mache ich grundsätzlich nur im Designer und damit sollte es eigentlich nichts sein was das System durch einander bringt! Erst als als die Resizezeile weg war habe ich damit experimentiert!
Bisher bin ich auch eigentlich ganz gut zurecht gekommen bis eben auf den Punkt der verlorenen Resizeeinstellungen.
Das sollte doch nun wirklich kein Problem sein diese in der pbf zu sichern und wieder korrekt einzulesen wenn es im Designer bearbeitet wird.

Wenn nun aber der komplette Block einfach so weg ist obwohl ich nichts im quellcode ändere dann ist das schon Müll!
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
maupa
Beiträge: 93
Registriert: 12.12.2004 12:17

Re: Im Formdesigner gehen Einstellungen verloren

Beitrag von maupa »

bitte sag keiner das Wort "Formdesigner" unter win 8, verändert er ewig dem Code, Je nachdem was du machst werden Gegenmaßnahme von "Formdesigner" unternommen..

Irgendwie ist das teil total daneben.. Kampf gegen die BORG..
Gruß
maupa
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Im Formdesigner gehen Einstellungen verloren

Beitrag von derschutzhund »

maupa hat geschrieben:bitte sag keiner das Wort "Formdesigner" unter win 8, verändert er ewig dem Code, Je nachdem was du machst werden Gegenmaßnahme von "Formdesigner" unternommen..

Irgendwie ist das teil total daneben.. Kampf gegen die BORG..
Gruß
maupa
Veränderst du den code der pbf-Datei auch von Hand oder lässt du das den Formdesigner machen?
Wie gesagt ändere ich den code grundsätzlich nicht selbst und dann funktioniert das ganze recht gut!

Die .pbf binde ich in die .pb ein und programmiere ausschließlich hier!
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
maupa
Beiträge: 93
Registriert: 12.12.2004 12:17

Re: Im Formdesigner gehen Einstellungen verloren

Beitrag von maupa »

Nu als Beispiel:
Ich mach mit Form-diesiger ein fester mit einem Button. Dann stelle ist fest das der nicht groß genug ist.. schon kommen komische Sachen wenn ich den Code verändert. Geschweige ich füge im Code zweiten Botton zu.. da kann ich abspeichern wie ich will.. und bekomme dem ersten Button nicht mehr gelöscht.. oder doch.. aber doch nicht.. je nachdem was du machst .. kommt und geht der Code.. Undefiniert was er macht.

Gruß
und schönes WE
MAUPA
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Im Formdesigner gehen Einstellungen verloren

Beitrag von derschutzhund »

maupa hat geschrieben:Nu als Beispiel:
Ich mach mit Form-diesiger ein fester mit einem Button. Dann stelle ist fest das der nicht groß genug ist.. schon kommen komische Sachen wenn ich den Code verändert. Geschweige ich füge im Code zweiten Botton zu.. da kann ich abspeichern wie ich will.. und bekomme dem ersten Button nicht mehr gelöscht.. oder doch.. aber doch nicht.. je nachdem was du machst .. kommt und geht der Code.. Undefiniert was er macht.

Gruß
und schönes WE
MAUPA
Also dann veränderst du den Code von Hand?!
Versuch es doch mal über den Desinger zu machen. Inzwischen habe ich drei Programme mit insgesamt vielleicht 60 Elementen erzeugt und bis auf die Resizegeschichte und dem gelöschten Block läuft es wirklich sehr gut!
Vermutlich habe ich vor dem gelöschten Block auch das pbf von Hand bearbeitet.
Natürlich sollte auch dann der Formdesigner keine Probleme machen aber im Grunde kann man mit dem Formdesigner wirklich gut arbeiten. Wenn man in das pbf erzeugen lässt und nur das pb bearbeitet.
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
maupa
Beiträge: 93
Registriert: 12.12.2004 12:17

Re: Im Formdesigner gehen Einstellungen verloren

Beitrag von maupa »

OK danke für den Tipp, werde mal versuchen.
Gruß
maupa
derschutzhund
Beiträge: 328
Registriert: 06.06.2013 20:37
Computerausstattung: Satellite A210-19Z, Samsung Netbook N130, VPAD10

Re: Im Formdesigner gehen Einstellungen verloren

Beitrag von derschutzhund »

Workaround zum Thema "Resizeeinstellungen gehen verloren"!

Finde, Workaround ist ein witziges Wort oder?
Aber egal :lol:

Bin darauf gekommen wie man alles mit dem Formdesigner einstellen kann und es auf der anderen Seite vermeidet,
dass der komplette Block auf geheimnisvolle Weise verschwindet! 8)

Vorgaben:
- Es gibt ein *.pbf welches ausschließlich mit dem Formdesigner erstellt und aktualisiert wird!
Ich ändere nicht einen einzigen Buchstaben in diesem pbf! Das ist wohl absolut wichtig!

- Das pbf wird über IncludeFile "........pbf" in eine *.pb eingebunden in der ich den Progcode eingebe.

- Ich verwende bei meiner täglichen Arbeit mein Hilfsprogramm NDW welches beim ersten Start das *.pb vollautomatisch erzeugt. Bei der weiteren Arbeit erzeuge ich zunächst immer ein Gadget im Formdesinger und NDW erzeugt passend dazu eine Procedure im *.pb und springt auch sofort dahin.

Jetzt der Trick (will mal hoffen, dass ich nicht der letzte bin der darauf gekommen ist!)
- Man stellt im Formdesigner die gewünschten Resizeeinstellungen und speichert das *.pbf ab.
- Das *.pbf mit einem externen Texteditor öffnen und die erzeugten Zeilen z.B.

Code: Alles auswählen

  ResizeGadget(ScrollArea_1, 140, 70, GetGadgetAttribute(Panel_0,#PB_Panel_ItemWidth) - 260, GetGadgetAttribute(Panel_0,#PB_Panel_ItemHeight) - 80)
kopieren und im *.pb in die Repeatschleife einfügen.

Man kann nun die Resizeeinstellungen im Formdesigner wieder zurücksetzen (natürlich nicht über die Tastatur!) oder man lässt sie einfach verloren gehen. :wink:
Die Resizefunktion ist ja nun in der *.pb programmiert, bleibt daher erhalten und funktioniert ebenso wie in der *.pbf

Hinweis:
Der Aufwand dafür hält sich in Grenzen weil man alle gemachten Resizeeinstellungen als Block kopieren kann!

LG

Wolfgang
Satellite A210-19Z, Samsung N130, VPAD10, WinXP, Win7, PuppyLinux, PB 5.24, 5.31. 5.70
Elektronik, Mikrocontroller, CNC-Technik, 3D-Druck
Antworten