Results 1 to 6 of 6

Thread: ValidationList und Static_State

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Join Date
    Feb 2011
    Posts
    18

    Default ValidationList und Static_State

    Hallo Zusammen,

    ist es möglich die Property Static_State für ValidationList global auf False zu setzen?
    Habe zwar in der Doku und anderen Forumbeiträgen raus gelesen, dass man sich hierfür auf die Globale Variable DD_Global_Validation_Prompt_Object beziehen kann, scheinbar gilt das aber nicht auf die besagte Property, denn das Verändern dieser hat keine Auswirkung :-(
    Folgendes habe ich in mein oApplication-Objekt eingefügt:
    Code:
        Procedure OnCreate
            Integer iSize iScreenSize iNewHeight iWidth
            
            Forward Send OnCreate
            
            Move (GUIScreen_Size (1)) to iScreenSize
            If (Object_Id (DD_Global_Validation_Prompt_Object) > 0) Begin
                
                Get GuiSize of DD_Global_Validation_Prompt_Object to iSize
                Move (Low (iSize)) to iWidth
                Move (Hi (iScreenSize) / 3) to iNewHeight
                Set GuiSize of DD_Global_Validation_Prompt_Object to iNewHeight iWidth
                Set Typeface of DD_Global_Validation_Prompt_Object to 'Tahoma'
                Set FontSize of DD_Global_Validation_Prompt_Object to 16 0
                Set Static_State of DD_Global_Validation_Prompt_Object to False            
            End
            
        End_Procedure
    Dabei wird die Größe und Schrift sauber übersteuert, leider werden die Einträge aus der Codetabelle nicht aktualisiert.
    Muss ich die Property Static_State woanders setzen?

    Grüße
    Danka

  2. #2
    Join Date
    Jul 2009
    Location
    Wiesbaden, Germany
    Posts
    234

    Default Re: ValidationList und Static_State

    Hallo Danka,

    das funktioniert aus dem Grund nicht, weil DD_Global_Validation_Prompt_Object die View ist, in der die ValidationPickList verwendet wird.
    Aber man setzt ja den Static_State der Liste selbst und nicht der View.

    Im "Dfddpklt.pkg" kann man das Objekt oValList sehen, welches die Liste ist, in der du den Static_State setzen möchtest.

    Die Anweisung müsste ungefähr so aussehen (nicht getestet):
    Code:
    Set Static_State of (oValList(DD_Global_Validation_Prompt_Object(self))) to False
    evtl. auch ohne das "(self)"

  3. #3
    Join Date
    Feb 2011
    Posts
    18

    Default Re: ValidationList und Static_State

    Hallo,

    danke für die schnelle Antwort.
    In der Klasse ValidationList existiert ja die Prozedure Set Static_State welche dann Static_State entsprechend auf oValList setzt, deshalb hatte ich mich "nur" auf DD_Global_Validation_Prompt_Object bezogen.
    Den Bezug auf oValList hatte ich auch schon getestet, da doppelt besser hält, habe ich es jetzt nochmal gemacht. Leider ohne Erfolg :-(
    Wurde die Liste einmal aufgerufen, werden Änderungen der Codemast nicht mehr aktualisiert.

    Grüße
    Danka

  4. #4
    Join Date
    Jul 2009
    Location
    Wiesbaden, Germany
    Posts
    234

    Default Re: ValidationList und Static_State

    Hallo Danka,

    du hast absolut recht. Ich habe das Static_State in der View Klasse übersehen.

    Ich habe noch mal kurz im OrderEntry herum probiert und ich denke die Lösung gefunden zu haben.
    Das Problem wird nicht nur sein, dass die Liste selbst im Static_State ist, sondern auch, dass die CodeValidationTable im DD, die zum Füllen verwendet wird, auch den Static_State auf True gesetzt hat.

    Man müsste also bei den CodeValidationTables den Static_State auch auf False setzen (am besten in einer eigenen Klasse) und dann sollte es gehen.

  5. #5
    Join Date
    Feb 2011
    Posts
    18

    Default Re: ValidationList und Static_State

    Guten Morgen,

    das habe ich fast befürchtet, wollte es mir sparen jede DD anzupacken und zukünftig daran zu denken, dass die ValidationList über eine eigene Klasse läuft...manchmal geht es eben nicht anders :-(
    Wahrscheinlich werde ich es dann doch in den einzelnen CVT in der DD auf False setzen.
    Vielen Dank noch mal.

    Viele Grüße
    Danka

  6. #6
    Join Date
    Feb 2009
    Location
    Stuart, FL
    Posts
    4,984

    Default Re: ValidationList und Static_State

    Hier ist dein problem

    Validation Lists sind array objekte die in then DataDictionary packages definiert sind

    Diese validation lists werden nur einmal initialisiert.

    Spaeter werden die daten dann verwendet um entweder comboboxen oder listen zu fuellen.

    Der unterschied hier ist auch wichtig. Comboboxen werden ebenfalls nur einmal von der validation list gefuellt waehrend popup listen immer wieder neu gefuellt werden

    Um die validation list wieder neu zu laden muss folgendes passieren

    das Validation_List objekt muss ney gefuellt werden

    Das koennen sie mittels der Fill_List method machen (Beispiel DAW Order Entry)

    Code:
    Send Fill_List of Ship_Table
    Ship_Table ist die Validation table die im DD definiert ist

    Nun werden bereits validation lookups die neuen daten zeigen

    Combobox felder muessen neu gefuellt werden

    Code:
    Send Combo_Delete_Data to oOrderHea_Ship_Via
    Send Combo_Fill_List to oOrderHea_Ship_Via
    Michael Salzlechner
    StarZen Technologies, Inc
    http.://www.starzen.com

    IT Director at Balloons Everywhere

    Development Blog
    http://www.salzlechner.com/dev

    DataFlex Package Manager (aka Nuget for DataFlex)
    http://windowsdeveloper.com/dfPackage

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •