Classic VB - What is Option Explicit, and why should I use it?

Unknown | 1:41 AM |

What does it mean?
Putting the "Option Explicit" statement at the top of a code module (which includes forms/modules/classes/...) forces you to declare all variables that you have used in that module, using Dim or similar.

If you try to run your code when a variable hasn't been declared, it will be highlighted, and you will get a clear error: "Variable not defined"


Why should I use it?
You are probably thinking "errors are bad, I don't want that!", but this is actually a very good error - as it tells you about problems that are hard to spot otherwise.

Have a look at this code, can you see why it gives the wrong answers?

vb Code:
Dim MyVariable As Integer MyVariable = 10 MsgBox MyVariable 'should show 10 MyVariable = MyVariable + 1 MsgBox MyVariable 'should show 11 MyVariable = MyVaraible - 2 MsgBox MyVariable 'should show 9 Instead of showing us "10", "11", "9", the messages actually show us "10", "11", "-2"!

The reason for this is that I mis-spelt the variable name (MyVariable = MyVaraible - 2), so VB being 'kind' creates a new variable (which has a default value of 0), and uses it in the calculation.

In the code above it is fairly easy to spot the mistake, but the more code you have the harder it gets to find mistakes like this - generally all you know is that the code is not working properly, but you can't tell why.

Instead of spending lots of time trying to work it out, simply having Option Explicit at the top of the code file will tell you what (and where) the problem is, so all you need to do is correct the variable name (or declare the variable, if it was meant to be a different one!).


Can I have it added to my code automatically?
Yes you can, but only to new files that you create - you will need to add it yourself to existing files.

To have it added to all new files you create, simply select "Tools" -> "Options", and tick the "Require Variable Declaration" box.

Category:

About http://dotnetvisual.blogspot.in/:
DOT NET TO ASP.NET is a web application framework marketed by Microsoft that programmers can use to build dynamic web sites, web applications and web services. It is part of Microsoft's .NET platform and is the successor to Microsoft's Active Server Pages (ASP) technology. ASP.NET is built on the Common Language Runtime, allowing programmers to write ASP.NET code using any Microsoft .NET language. create an application very easily ....