Home
Search
 
What's New
Index
Books
Links
Q & A
Newsletter
Banners
 
Feedback
Tip Jar
 
XML RSS Feed
What's New in VB.NET
Information about VB7 is still a bit sparse, but here are some of the new features we can expect.
Links
Let me know if you have other links you think could be helpful.

Features
Compatibility
VB6 and VB.NET can run on the same computer.
Inheritance
You can derive a class from a parent class.
Structured Error Handling
There will be some kind of more structured error handling, though I don't know the details yet.
Coexistance
You should be able to run VB6 and VB.NET on the same computer.
Upgrading
When you open a VB6 program in VB.NET, a Migration Wizard appears to help you convert it into VB.NET. There are a lot of changes, however, so you will probably still need to do a fair amount of work.
Control Anchors
You can anchor a control, to the lower left corner of the form for example, so you don't need to reposition it in Form_Resize.
Easy Delpoyment
You can install executables and components buy copying them into the right directory. No more messing with Regsvr32.
New Forms
Visual Basic forms become Windows forms.
No PrintForm
Windows forms do not have PrintForm. I don't know what we're supposed to use instead.
Unified IDE
All Microsoft languages use the same IDE. You can debug an OCX written in C++ while running it in a VB.NET program.
Extensibility Model
The new extensibility model applies to the IDE universally. That means you can write Add-Ins in VB.NET and use them in C#.
GDI+
The GDI (Graphics Device Interface) has new functions including Alpha blending, anti-aliasing, and support for more file formats.
ADO.NET
Improved performance.
No DAO/RDO Binding
VB.NET does not support DAO or RDO data binding, Data controls, or the RDO User Connection.
Object type
The Variant type is disappearing. The Object type can now hold a primitive datatype, Empty, Nothing, Null, or a reference to an object.
Integer, Short
The 16-bit Integer type is now called Short. The 32-bit Long type is now called Integer.
"Easier" Property Procedures
Property Get and Set procedures now look like this:
    Property MyProperty() As Short
        Get
            m_MyProperty = MyProperty
        End Get
        Set
            m_MyProperty = Value
        End Set    
    End Property
I don't know why Microsoft thought we couldn't handle the old system.
No Parameterless Defaults
You can no longer say Text1 = "Hello". You must say Text1.Text = "Hello".
True = 1
True no longer equals -1. Now it equals 1.
Bitwise Operators
And, Or, Not, and Xor not are Boolean operators. The bitwise versions are BitAnd, BitOr, BitNot, and BitXor.
Short-circuit Evaluation
When VB6 executes this statement, both Function1 and Function2 are called no matter what value Function1 returns:
    If Function1() And Function2() Then ...
In VB.NET, Function2 is not called if Function1 returns False.
No Null Propogation
Any VB6 statement that involved a Null value was Null. For example, Null & "x" = Null. In VB.NET, statements involving Null generate a type mismatch error.
Zero-Based Arrays
All arrays are zero-based. You can no longer say Dim X(1 To 10) As Integer.
No Option Base
The Option Base statement no longer exists (since all arrays are zero-based).
No Fixed-Length Strings
There are no more fixed-length strings.
No Fixed-Size Arrays in UDTs
When you make a user-defined type (UDT), arrays should be undimensioned. You ReDim the array after creating an item of this type.
No Def<Type>
These statements no longer exist.
No Computed GoTo
This statement no longer exists.
No GoSub/Return
These statements no longer exist.
No VarPtr, ObjPtr, StrPtr, etc.
These statements no longer exist.
No LSet
This statement no longer exists.
No As Any
You cannot use As Any in API declarations. You must make separate declarations for each data type you will pass to the API function.
No OLE Container
The Windows form does not support this control.
No Shape or Line Controls
These no longer exist.
New Graphics Methods
New methods replace Circle, CLS, PSet, Line, and Point.
Timer Interval
Setting a Timer's Interval to 0 does not disable it.
Context Menus
Windows forms have a main menu and a separate context menu used for popups.
No DDE
Windows forms do not support DDE.
New Drag and Drop
Drag and Drop still exists but is different.
New Clipboard
Improved clipboard functions.
Name Property
The Name property is no longer available at run time.

Survey

Here are the results of a survey I took on 4/21/01. Comments people made about questions 3 and 4 are at the end.

1. Are you using the VB.NET beta?

Yes2
No15

2. Do you plan to use Beta 2?

Yes3
Probably1
Maybe4
No9

3. Do you plan to use VB.NET when it is finally released?

Yes9
Don't know6
No3

4. Do you want to see more VB.NET examples?

Yes5
No13

Comments

Here are comments people made for questions 3 and 4.

3. Do you plan to use VB.NET when it is finally released?

No. I'm going to stay with VB6. This, because I am one of those rare, and becoming even more rare, individuals who use computers for *computing* (i.e., scientific computation). I can not care less about being able to create Internet-or Intranet-related applications, so there is no need for me to suffer through the agonies of coming in line with an almost entirely new development system. Furthermore, I suspect that, knowing Microsoft, the current Beta version is really an advanced Alpha, and that when the first commercial version hits the streets, that's when the *real* beta-testing will begin. This is cheaper for Microsoft. I know that this will doom me to living out the rest of my professional days in the ever receding backwaters, but that's Ok with me. I'm coming up on 66 years, and VB6 and VC++6 will serve me nicely for as long as I want to remain active in the profession.

Only if held at gunpoint

What choice do I have?

Yes, do I have a choice? That is the direction of the future

Not sure, from what I've been hearing and reading.

Not if I can help it. I'm so mad at Microsoft's arrogance regarding backwards compatibility that I'm planning on switching to C++ for new projects. (Of course, I have to learn C++ first!) The few concessions that MS has made to VB6 still won't change the fact that all of my projects are going to require massive recoding to run under VB.NET.

MAYBE. Depends upon its popularity and support, and the Hailstorm/Passport thing (not sure if I/we accept that yet). Right now the company and I see no need for it in any project. I guess I’m taking my usual wait-and-see attitude. Everybody here is scratching their heads and wondering WHAT benefit can be derived from it?????

4. Do you want to see more VB.NET examples?

Yes. At the moment I only have time which permits me to learn either XML or VB.NEt I need to make a decision which one to choose as of Now.

No. I'm still trying to learn VB6. From what I've read, VB.NET is a different language.

Yes, slowly. I'm just trying to understand what it is. Also, can you answer what will be necessary to learn along with it. I gather XML will be one. Will JavaScript work with it. That's what I mean by number 4

Yes, to find out more about it.

No. I see no reason to get all hyped up about software that isn't even on the open market yet. As far as I am concerned, VB 6 is the latest version of VB and that is what the examples, tips, tricks and hints should be based on.

Later on, after VB.NET has been released (and the third service pack released within 6 months after that), then our organization >>> MIGHT <<< consider using it. But VB.NET is more like a brand new programming language than a new update of VB.

YES, I do not have time to look at it yet and I appreciate your research.

Not until I've made the switch, which will probably be never!

Yes. Even if I don't understand them. I need to get my feet wet sometime.

SURE. I figure I’ll be forced to use it someday, whether I’m ready or not. Already been passively learning about it through the flood of e-letters stuffed into my inbox.

I've been attending the MSDN Events in Portugal and so far it looks promising (even if it looks like a MS tailored version of J2EE). At least they are catching up...

For the developers, the .NET is "Code anyway, Run in Windows". Java in the other hand is "Code in Java, Run anywhere"...

I'm almost ready to install Beta 1, and intend to become used to it's new paradigm. I would like to see examples of VB.NET (mayhappen open a new layer on the site?)...

Yes, I'd like to see some after VB.NET is finally released. But, even then I'd like to focus mainly on VB6 for a while since most people (including me) will take a while to upgrade.


Most people don't seem to like VB.NET but see it as unavoidable. You may be able to avoid VB.NET but you will have to either stick with VB6 or learn a new language. For a related article, see VB Users Migrating To Newer Languages Latest EDC Study Shows.

I have not commented much on the VB.NET Beta 1 in public. I'm not happy with Beta 1, but I think it's great that Microsoft has made the Beta so widely available. I also realize this is only a beta and that performance should improve in Beta 2 and in the final release. I'll wait until Beta 2 before I start complaining too loudly.


Write a reply.


 
Subscribe to the VB Helper newsletter
Copyright © 1997-2001 Rocky Mountain Computer Consulting, Inc.   All rights reserved.
www.vb-helper.com/newvb6.htm Updated