Loadbang doesn't trigger when you create abstractions dynamically.  

Use [initbang], or send a message after creating the abstraction to trigger the loadbang.  (Look up pd-msg in the help docs) 

On Wednesday, December 10, 2014, Alexandros Drymonitis <adrcki@gmail.com> wrote:
I'm creating an abstraction (say it's called test-parent.pd) which creates another abstraction (called test-child.pd) inside a subpatch, a number of times according to the argument passed to test-parent.pd.
What I want to do is store $0 of test-parent.pd and pass it to all instances of test-child.pd to set a name for [throw~] which is in the test-child abstraction, like this (this is in test-parent.pd):

[loop] <- this is an until loop with a counter
|
[t   f    b]
|         |
[* 20] [$0]
|         |
|         |
[pack f f]
|
[obj 100 $1 test-child $2(
|
[s subpatch]

Inside test-child.pd I have this:

[loadbang]
|
[$1 ]
|
[set $1-sum(
|
[throw~]

Say that $0 of test parent is 1004. What happens is that, even though all test-child.pd abstractions are created like this [test-child 1004], I get the following error: throw~ 1127-sum: no matching catch
There is a [catch~ $0-sum] in test-parent.pd, which, I guess, is updated accoridng to $0, but [test-child] seems to have been stuck to 1127 (I'm clearing the subpatch where all [test-child]s are being created, and then create the abstractions)...
Any clues?