Allow me to say something to the OP.
BC programmer is well-qualified to assist you, but you're in making it hard.
It appears that you have not really read the documentation for Visual Basic or else you skipped over something and tried to copy an example that was not appropriate.
The key word that starts with the #is not really a program word, it is a directive for the compiler. Like BC said, it does not control actual program flow, it only qualifies how the compiler will treat your code. In other words, what you did is wrong. Unless you really wanted to do a compiler directive, and even in that case, you're still wrong.
The compiler directive is something that has to be resolved at compile time, not at run-time. Normally it is something that would resolve immediately to a Boolean value or possibly an integer. It would be used either to select between two alternate forms of the code, or possibly from a list of other discreet options. Anyway, it does not control the run time code.
Please use the notation that is given in the Visual Basic documentation for actual programs, and stop trying to use compiler directives.
End of my rant, I am just trying to help. Pay attention to what BC programmer is telling you. He is the best you can find on this forum for Visual Basic.