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]
--------------------------------------------------------------------

Reply via email to