I am creating a dll with a public class, that I want to accept a textbox object as a byref parameter in a public procedure. This produces a compile error stating that I cannot use private module objects as parameters or return types in public module procedures. This is the type of error I would expect if the parameter was a class object that had its instancing set to private. Can anyone explain why this is occurring here, and hopefully with a solution?