Simple, but why not!

Why doesn’t this work:

function checksize() {
    loadMovie(imagePath, targetx.holder);
    targety = "_root.topclip1"
    _root.targety.movie.gotoAndPlay("in");        
};

But then this will?

function checksize() {
    loadMovie(imagePath, targetx.holder);
    _root.topclip1.movie.gotoAndPlay("in");        
};

write targety = eval(“_root.topclip1”)
or targety = _root[topclip1]

Great! Thanks, But can you explain how does that work?

If you want to access an object, you need to somehow target him with a path.
In your sample, targety is defined as a string. You cant access and instance of an object with string, unless you dont use associative arrays (_root[“something”] means movieclip or variable in root).

btw.

function checksize() {
    loadMovie(imagePath, targetx.holder);
    targety = _root.topclip1;
    _root.targety.movie.gotoAndPlay("in");        
};

would also work because you dont store a string in targety, but actualy a refference to an instance of topclip1 movieclip.