BRMENU - Custom Object

117 views
Skip to first unread message

Θεόδωρος Ανδρονίκου

unread,
Aug 25, 2025, 5:45:00 AMAug 25
to Softone Developers Network

Καλησπέρα σας,

Αντιμετωπίζω ενα πρόβλημα με το BRMENU και ενα custom object που έχω κάνει.

Έχω κάνει μια νέα προβολή στο object μου και έχω βάλει στις παραμέτρους το BRMENU=BrMenuList, όπου το BrMenuList είναι ενα string list που έχει τους αριθμούς cmd και περιγραφή .

Αυτό λειτουργεί κανονικά χωρίς κανένα πρόβλημα, αλλά λειτουργεί μόνο για 1 εγγραφή, , by default  νομίζω έχει CMD=1 , δηλαδή επιλέγεις μια εγγραφή δεξί κλικ και επιλέγεις αυτό που θέλεις απο την λίστα. 

Εγώ όμως θέλω να έχω την δυνατότητα πολλαπλής επιλογής και να κρατήσω τα IDs του, τα selrecs δηλαδή και να κάνω κάτι με αυτά.

Έχω κάνει κάτι παρόμοιο το οποίο παίζει κανονικά, παρακάτω είναι ο κώδικας για τις πολλαπλές εγγραφες. 

function ON_CREATE() {
    CreateMenuSelection();
   }

function CreateMenuSelection() {
    var vBrowserMenu = X.EXEC('CODE:ModuleIntf.FindXStrings', X.MODULE, 'BRMENU');
    X.EXEC('CODE:PiLib.TStringsAdd', vBrowserMenu, '-=-');
    X.EXEC('CODE:PiLib.TStringsAdd', vBrowserMenu, '20250423=3;Εκτύπωση σε Excel');
    X.EXEC('CODE:SysRequest.RefreshPopupMenu', X.MODULE, 'BRMENU', 1);
}

Το παραπάνω είναι στο object PRDORDDOC.

Όταν κάνω το ίδιο ακριβώς στο δικό μου object μου εμφανίζει το παρακάτω μήνυμα:

"EAccessViolation:Access violation at address 685BC39F in module 'Start.bpl'. Read of address 00000000"

Δοκίμασα και το X.WARNING(vBrowserMenu) να δω τι επιστρέφει και γυρνάει 0, ενώ σε άλλα object του Softone επιστρέφει κάθε φορα ενα διαφορετικό νούμερο, φαντάζομαι οτι είναι κάποιο σημείο στη μνήμη η μια διεύθυνση. 

Είδα στο blackbook  σελίδα 322 να γράφει αυτό "//StringList of most SoftOne Objects Browser is BRMENU "  και σε μερικά object του softone πρέπει αντι για BRMENU να γράψεις πχ ITEBRMENU, με βάση την ενότητα που χρειάζεται. 

Το δοκίμασα και αυτό αλλα χωρίς κάποιο αποτέλεσμα ! 

Συνεπώς πρέπει κάπου να ορίσω το object που έφτιαξα? 

Τι ακριβώς πρέπει να κάνω? 

Ευχαριστω εκ των προτερων,

Τ.Α.

georgopou...@gmail.com

unread,
Aug 26, 2025, 8:07:57 AMAug 26
to Softone Developers Network
Στην γραμμή 


var vBrowserMenu = X.EXEC('CODE:ModuleIntf.FindXStrings', X.MODULE, 'BRMENU');

άλλαξε το BRMENU με το BrMenuList

και δοκίμασε έτσι.

Θεόδωρος Ανδρονίκου

unread,
Aug 28, 2025, 5:38:35 AMAug 28
to Softone Developers Network

Καλησπέρα! 


Το δοκίμασα και αυτό και σε αυτή την περίπτωση το X.WARNING μου επιστρέφει αριθμό αλλά μετά δεν εμφανίζεται κανένα κουμπί στο ευρετήριο, δηλαδή πήρα το ίδιο το κουμπί και εγραψα = 3 . 

 

Οπότε σκέφτηκα να ανοίξω string list κενο και να προσθέσω εγώ κουμπιά με κώδικα αλλά δεν λειτούργησε μου εμφανίζει το Access Violation !! 

 

Σκέφτηκα να αφήσω το stringlist ετσι οπως είναι να προσπαθήσω να προσθέσθω έξτρα κουμπιά.


Με αυτή την προσπάθεια δουλευουν και εμφανίζονται τα κουμπιά αλλά δεν εμφανίζονται τα κουμπιά που πρόσθεσα εγω.


Με εκτίμηση,

Τ.Α.

Παναγιώτης Θεοδώρου

unread,
Aug 29, 2025, 12:05:36 PMAug 29
to Softone Developers Network
καλησπέρα,
έχω πάρει απάντηση από την ίδια τη softone για αυτό, όταν θα ορίσετε τα κλειδιά του stringlist
θα δηλώσετε πχ κλειδί: 202508291 και τιμή 1;Job 1
όπως δηλώνει το 20250423=3;Εκτύπωση σε Excel στο παράδειγμα του BB

Θεόδωρος Ανδρονίκου

unread,
Sep 3, 2025, 6:37:25 AMSep 3
to Softone Developers Network

Καλησπέρα Παναγιώτη, 

Με το 1; δούλεψε κανονικα !! 

Ευχαριστώ πολύ ! 

Τ.Α.

Reply all
Reply to author
Forward
0 new messages