July 2001

Visual Basic .NET: Tracing, Logging, and Threading Made Easy with .NET

Visual Basic has always been a language of innovation, but at the same time it's left its proponents wanting certain high-level features. With the upcoming version, Visual Basic .NET, the language takes advantage of the Microsoft .NET Framework to provide several new features that will be vital to developers. This article begins by discussing tracing and error logging in Visual Basic .NET. Next, you'll see how to write a Windows service without third-party help. Monitoring the file system, a previously daunting task, is also covered. Finally, the author ties these concepts together with a sample application that waits for XML files to be deposited in a directory and then imports them into SQL Server database. Yasser Shohoud

C++ -> C#: What You Need to Know to Move from C++ to C#

C# builds on the syntax and semantics of C++, allowing C programmers to take advantage of .NET and the common language runtime. While the transition from C++ to C# should be a smooth one, there are a few things to watch out for including changes to new, structs, constructors, and destructors. This article explores the language features that are new to C# such as garbage collection, properties, foreach loops, and interfaces. Following a discussion of interfaces, there's a discussion of properties, arrays, and the base class libraries. The article concludes with an exploration of asynchronous I/O, attributes and reflection, type discovery, and dynamic invocation. Jesse Liberty

Windows UI: Our WinMgr Sample Makes Custom Window Sizing Simple

Programmers using Visual Basic have always had an advantage over C++ programmers when it comes to component and window sizing. There are many third-party Visual Basic-based solutions to this age-old problem, but unfortunately, there are few elegant alternatives for the C++ crowd, short of using a full-fledged windowing toolkit. This article explains how to circumvent the tedious task of hardcoded pixel arithmetic. It starts by introducing a window sizing rules system, and then moves on to show how CWinMgr, a data-driven class, can intelligently manage an MFC application's window sizing. Paul DiLascia

Visual Studio .NET: Managed Extensions Bring .NET CLR Support to C++

If you're a longtime C++ programmer, the thought of migrating to Visual Studio .NET might make you wary at first. However, a new feature of Visual C++, the managed extensions for C++, allows you to build apps with the .NET Framework. When you use managed C++, your code is handled by the common language runtime (CLR). This provides advanced features like garbage collection, interoperability, and more. This article explains why you'd want to use the managed extensions, how to use them, how to mix managed and unmanaged code, and how your managed code can interoperate with programs written in other languages. Chris Sells

Design Patterns: Solidify Your C# Application Architecture with Design Patterns

A design pattern can solve many problems by providing a framework for building an application. Design patterns, which make the design process cleaner and more efficient, are especially well-suited for use in C# development because it is an object-oriented language. Existing design patterns make good templates for your objects, allowing you to build software faster. This article describes several popular design patterns you can use in your own applications, including the singleton, the decorator, the composite, and the state classes, which can improve the extensibility of your applications and the reuse of your objects. Samir Bajaj

Editor's Note: Name Our New ASP Column!

New Stuff: Resources for Your Developer Toolbox

Theresa W. Carey

Web Q&A: Office Chart Control, Opening Windows in ASP, Getting a Referred URL, and More

Edited by Nancy Michell

The ASP Column: ASP.NET Connection Model and Writing Custom HTTP Handler/Response Objects

George Shepherd

The XML Files: Understanding XML Namespaces

Aaron Skonnard

Cutting Edge: Custom Web Data Reporting

Dino Esposito

Advanced Basics: Happy 10th Birthday, Visual Basic

Ken Spencer

Under the Hood: IA-64 Registers, Part 2

Matt Pietrek

C++ Q&A: Understanding Categories with CatView, Getting Toolbars in 256 Colors

Paul DiLascia

Code Download (353 KB)
.Chm Files