If you're getting this error on this line of code, then something has already defined a template "painting2" beforehand. It could be an actual deftemplate construct, but it could also be a defclass, an "add", or using the name in a defrule. Just make sure you defined your templates first, before you do anything else.

On Apr 6, 2009, at 8:50 AM, John Chrysakis wrote:


Hello Ernest and thanks a lot for your reply

I am still getting the following error:

Message: Cannot redefine deftemplate MAIN::painting2.
 Program text: ( deftemplate painting2 extends artifact ( declare (
from-class painting2 ) ) )  at line 4.

Is there any problem of using add method for each instance of painting?

thanks again,

John.
-----------------------------------------------------


On Fri, 3 Apr 2009, Ernest Friedman-Hill wrote:


On Apr 3, 2009, at 11:00 AM, John Chrysakis wrote:


(import factclasses.*,factinterface.*)


This will have no effect. You need two separate import calls here.


(deftemplate Painter(declare (from-class factclasses.painter )))

Since Painter is to be a subclass of Artifact, you want to declare
Artifact first, right?


(deftemplate artifact (declare (from-class factclasses.artifact)))


This is OK. Instead of the the above three lines, you could have
something like

(import factclasses.*
(import factinterface.*)
(deftemplate artifact (declare (from-class artifact)))
(deftemplate painting extends artifact (declare (from-class painting)))


(ppdeftemplate MAIN::painting extends artifact)

"ppdeftemplate" pretty-prints a template; it doesn't change anything.
You've just supplied some extra arguments, which Jess ignores.


---------------------------------------------------------
Ernest Friedman-Hill
Informatics & Decision Sciences          Phone: (925) 294-2154
Sandia National Labs
PO Box 969, MS 9012                            [email protected]
Livermore, CA 94550                             http://www.jessrules.com





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

---------------------------------------------------------
Ernest Friedman-Hill
Informatics & Decision Sciences          Phone: (925) 294-2154
Sandia National Labs
PO Box 969, MS 9012                            [email protected]
Livermore, CA 94550                             http://www.jessrules.com





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