I found a 'solution' to my problem (well, it's working so far, so I consider it is a solution !) (defrule foo ... ?ac <- (action yes) => .... (retract ?ac) ) ... (deffunction menu-handler (?event) (assert (action yes)) (run) ) Because when the user doesn't do anything (and no rule has to be fired), the engine stops. So when there is an action commited, I assert the fact and run the engine. I don't know if it is clever, but it works. Bruno SINTES [EMAIL PROTECTED] wrote: > Hi, > > There's no neat way to do what you're asking about (at least not in > the current versions of Jess.) What you could do, though, is use Beans > instead of facts. Keep a reference to the Bean available someplace, > and have the item-listener change the properties of the Bean. If the > Bean is definstanced, then it will be available for matching by rules > just as the current facts are -- the rules would likely not need to be > changed. > > I think sintes wrote: > [Charset ISO-8859-1 unsupported, filtering to ASCII...] > > Hi all ! > > > > I'd like to know how to get a fact-id in a > > function. I create a GUI with awt objects, > > I add listeners to those objects and when > > something happens, I'd like to modify the > > fact involved in the control. > > > > Here is my sample > > > > (deffact act (action no)) > > ... > > > > > > (defrule foo > > ... > > ?ac <- (action yes) > > => > > ...) > > > > ... > > > > (deffunction itemlistener (?event) > > > > ;;I dunno how to modify the fact action, as > > I dunno how to get the fact-id > > > > ?bar<-(action no) ;;????? > > (modify ?bar (action yes)) ;;????? > > ) > > > > Thank you, > > > > Bruno SINTES > > --------------------------------------------------------- > Ernest Friedman-Hill > Distributed Systems Research Phone: (925) 294-2154 > Sandia National Labs FAX: (925) 294-2234 > Org. 8920, MS 9012 [EMAIL PROTECTED] > PO Box 969 http://herzberg.ca.sandia.gov > Livermore, CA 94550 > --------------------------------------------------------------------- > To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' > in the BODY of a message to [EMAIL PROTECTED], NOT to the > list (use your own address!) List problems? Notify [EMAIL PROTECTED] > --------------------------------------------------------------------- --------------------------------------------------------------------- To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]' in the BODY of a message to [EMAIL PROTECTED], NOT to the list (use your own address!) List problems? Notify [EMAIL PROTECTED] ---------------------------------------------------------------------
