I think Julian Hoch wrote: > > FactIDValue fvalue = new FactIDValue( fact1 ); > Fact fact2 = new Fact( "MAIN::A", engine ); > fact2.setSlotValue( "__data", fvalue );
There's the mistake right there. __data is a multislot, but you're setting it to s single value. You should be setting it to a ValueVector containing fvalue as its single element. > This leads to the same result in the fact memory, but this time, the > rule does not fire! It *looks* the same, but it's not. > The same problem occurs, when "my_fact_1" is a shadow fact (which is > what I want to be able to do in the end). Interestingly, f-1 then > looks like "MAIN::A <fact--0>" (two dashes). What does this mean? "Fact--n" means the fact's ID is negative, which can be the case before a fact is added to working memory. Not sure when you'd see "-0", but in any case the cure is to assert fact1. --------------------------------------------------------- Ernest Friedman-Hill Advanced Software Research Phone: (925) 294-2154 Sandia National Labs FAX: (925) 294-2234 PO Box 969, MS 9012 [EMAIL PROTECTED] Livermore, CA 94550 http://herzberg.ca.sandia.gov -------------------------------------------------------------------- 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] --------------------------------------------------------------------
