Καλησπέρα σας,
Αντιμετωπίζω ενα πρόβλημα με το 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 που έφτιαξα?
Τι ακριβώς πρέπει να κάνω?
Ευχαριστω εκ των προτερων,
Τ.Α.
Καλησπέρα!
Το δοκίμασα και αυτό και σε αυτή την περίπτωση το X.WARNING μου επιστρέφει αριθμό αλλά μετά δεν εμφανίζεται κανένα κουμπί στο ευρετήριο, δηλαδή πήρα το ίδιο το κουμπί και εγραψα = 3 .
Οπότε σκέφτηκα να ανοίξω string list κενο και να προσθέσω εγώ κουμπιά με κώδικα αλλά δεν λειτούργησε μου εμφανίζει το Access Violation !!
Σκέφτηκα να αφήσω το stringlist ετσι οπως είναι να προσπαθήσω να προσθέσθω έξτρα κουμπιά.
Με αυτή την προσπάθεια δουλευουν και εμφανίζονται τα κουμπιά αλλά δεν εμφανίζονται τα κουμπιά που πρόσθεσα εγω.
Καλησπέρα Παναγιώτη,
Με το 1; δούλεψε κανονικα !!
Ευχαριστώ πολύ !
Τ.Α.