Summary
Me, like many others, is always fighting to get the 4D forms layouted properly. There are the competing needs to show everything important, not to make anything too small, and the design should be nice also. Never forget, there are lots of customers with small screens/laptop-screens out there. Now comes 4D Write Pro – Sh… News as of April 12
Mir geht es wie vielen andern: ein Formular zu gestalten ist ein großer K(r)ampf. Es soll alles Wichtige drauf, nichts zu klein, damit es auch die mit Brille noch sehen, und ansprechend designed soll es auch sein. Nicht zu vergessen, viele Kunden haben nur kleine Bildschirme/Laptop-Bildschirme. Jetzt kommt 4D Write Pro – Sch… Neues vom 12. April
Ich habe ein altes Formular ausgegraben, nichts besonderes. Es hat wie so viele 4D-Anwendungen, schon manche 4D Version überstanden. Heute ist es nicht mehr schön, aber es läuft und läuft und läuft.
Theorie
Jetzt steht die Planung für das nächste Update an. Es soll zur V16 gehen und dann auch gleich in 64-Bit. Ergo 4D Write wird wegfallen, wie alle 32-Bit Plugins.
Ein erster Versuch das Briefeschreiben im alten Stil weiterzuführen, führt mich zur Objekte-Bibliothek. Hier finde ich das 4D Write Pro + Kontrollbereich-Objekt. Das ziehe ich in ein neues, leeres Formular zum Testen und es funktioniert, sobald ich den 4D Write Pro-Bereich an mein Korrespondenz-Feld angebunden habe. Dazu setze ich den Feldnamen [BRIEFE]BRIEF_WritePro_O in den Variablennamen des Objektes ein.
Super!
Der Teufel steckt im Detail
Jetzt platziere ich das 4D Write Pro + Kontrollbereich-Objekt in das oben gezeigte und bewährte Formular. Pfffhhhhh…
Mir bleibt keine Luft zum Atmen! Alles viel zu groß. Der Kontrollbereich ist zu breit, zu lang. Rechts angebracht denkbar ungeeignet: da liegt mein Kram.
Die beiden Objekte 4D Write Pro + Kontrollbereich sind unabhängig. Dem Kontrollbereich kann ich einen besseren Platz suchen. Drüber paßt er nicht, drunter paßt er nicht und links ist genau so schlecht wie rechts. Was ich brauche ist ein Ersatz für die 4D Write-Menubar. Die paßte oben drüber, wäre nicht sehr hoch und ich müßte nicht alle Formulare umbauen. Den Kunden wird es auch freuen, wenn sich nicht so viel auf einen Schlag ändert.
Selbst ist der 4D-Entwickler. Ich habe mir eine 4D Write-Menubar für 4D Write Pro gebaut, so breit wie ein Blatt Papier. Hier ist das Bildschirm-Foto. Meine Kombination aus 4D Write Pro + Kontrollbereich paßt ins Formular und auf einen kleinen Bildschirm ebenso.
Meine 4D Write Pro-Menubar ist die Komponente DBZ_WrProMenus. Das Widget heißt DBZ_WP_Menu. Den 4D Write Pro-Bereich des Hosts und die Komponente verknüpfen Sie mit dieser Methode: DBZ_WPArea_Manager („WParea“;“dbzWidgetMenu“;Self). Fertig!
Mehr finden Sie auf meiner DBZ_Komponenten-Seite.
Eine andere Option
Heute am 12. April 2017 veröffentlichte 4D einen Blog-Eintrag: Create your own interface for 4D Write Pro. Die vorgestellte Technik braucht die V16R3.
Mit der letzte Woche vorgestellten βeta der V16R3 dachte ich zuerst, super-klasse, kann ich mir viel Arbeit sparen. Als erstes versuchte ich die DBZ_WrProMenus mit Standard-Actions zu realisieren – die R3 ist tatsächlich eine βeta.
Zum Einen sind es noch 3 Monate bis zum Release der R3. Zum Anderen vermeiden manche Kollegen die R-Schiene komplett, das sei Ihnen zu unsicher soweit es die Entwicklung ihrer 4D-Anwendung betrifft und zu problematisch lizenz-rechtlich.
Darum ist DBZ_WrProMenus mit den Fähigkeiten der V16.x-Schiene geschrieben.
Ich will nicht die Vielfalt der 4D Write Pro-Optionen präsentieren, so konnte ich meine Integration Host und Komponente aufs Minimum reduzieren.
This is a proven form, nothing spectacular. Been doing its job since many 4D-versions. Looks shiny and old-fashioned today, but it runs and runs and runs.
Theory
We are longing to get the app to V16 and 64-bit. Currently preparing the update. There is a big handicap in full view: no more 4D Write, no more 32-bit plugins.
My first try for a smooth update-path directs me to the object-library. Since sometime V15 there is 4D Write Pro + Controllarea-object. I place that onto a new empty form for testing. It works nicely, as soon as I connected the 4D Write Pro-area to my Correspondence-field. To achieve that I set the fieldname [BRIEFE]BRIEF_WritePro_O as variablename of the 4D Write Pro-area.
Super!
The devil is in the details
Secondly I place the 4D Write Pro + Controllarea-object inside the above shown form. Pfffhhhhh…
No room for breathing! Everything too big. The controllarea-object is too wide, too high. On the right hand side is already my stuff, „get out of here“.
4D Write Pro + controllarea-object are independent objects. I start looking for a better place to put the controllarea-object. Doesn’t fit above, doesn’t fit below and on the left is as worse as on the right. I need a replacement for the 4D Write-menubar. One that fits above, isn’t too high and doesn’t put my forms upside down. Suppose the customers will be happy too, if the rearrangements are less exciting.
Help yourself – as always with 4D. I build myself a 4D Write-menubar for 4D Write Pro, as wide as a sheet of paper. Here is the screenshot. My combination of 4D Write Pro + controllarea fits into the existing form nicely and fits to smaller screens/laptop-screens as well.
My 4D Write Pro-menubar is the 4D component DBZ_WrProMenus. The widget is called DBZ_WP_Menu. You connect the 4D Write Pro-area of the host to the component with this method DBZ_WPArea_Manager („WParea“;“dbzWidgetMenu“;Self). Done!
For further reading check my DBZ_components page.
There is an alternative
Toady, april 12 2017, 4D published a new blog-entry: Create your own interface for 4D Write Pro – which needs V16R3.
Using the freshly released βeta of V16R3 last week, I first thought: perfect timing, will save me lots of work. I tried to build DBZ_WrProMenus using standard-actions – the R3 is a true βeta, indeed.
On one hand side, there are still 3 months till the release of V16R3. On the other hand some colleagues avoid the R-releases completely, both for being responsible concerning their product-development and the constraints of the license.
Therefor DBZ_WrProMenus is written with the feature-set of the V16.x-releases.
My aim was not to show the endless capabilities of 4d Write Pro, why my integration host and component seems to be most simple one, possible.