[Bese-devel] I'm in trouble again
Marco Baringer
mb at bese.it
Wed Sep 14 16:58:39 UTC 2005
Friedrich Dominicus <frido at q-software-solutions.de> writes:
> giving do-it-2 as action works (although view is not used)
> giving do-it-3 as action breaks.
>
> Could someone please explain that to me?
actions always assume the first argument is the 'target' component for
CALL forms.
so when you do this:
(defaction foo ((c component))
(call 'some-other-component))
we transfer control from C to an instance of SOME-OTHER-COMPONENT. so
if you change things in such a way that the first parameter to an
action is not a component the CALL macro breaks. If you really want to
set things up this way (call an action which doesn't work off a
component) you must use call-component (which is the function the CALL
macro wraps):
(defaction foo ((obj something-which-is-not-a-component))
(call-component (find-the-component)
(make-instance 'some-other-component)))
hth.
--
-Marco
Ring the bells that still can ring.
Forget the perfect offering.
There is a crack in everything.
That's how the light gets in.
-Leonard Cohen
More information about the bese-devel
mailing list