In the Cursor FOR loops you cannot use already opened cursor. A solution might be:
Code:
declare
x mypackage.gencursor;
name varchar2(100);
begin
mypackage.myprocedure(x);
loop
   fetch x INTO name;
   exit when x%notfound;
   dbms_output.put_line(name);
end loop;
close x;
end;