September2003September 2003

Office 2003: Bring the Power of Visual Studio .NET to Business Solutions Built with Microsoft Office

Microsoft Visual Studio Tools for the Microsoft Office System is a new technology that brings the advanced features of Visual Studio .NET and the .NET Framework to apps built on Microsoft Word 2003 and Excel 2003. Now you can use Visual Basic .NET and C# to write document-centric, managed code solutions that run in-process with Word 2003 or Excel 2003, taking advantage of the rich object models they expose. Along the way you get the benefits of the managed environment in which a fully compiled .NET-based application executes, including code access security. Ken Getz and Brian A. Randell

InfoPath: Turn User Input into XML with Custom Forms Using Office InfoPath 2003

Office InfoPath 2003 is a new Microsoft Office product that lets you design your own data collection forms that, when submitted, turn the user-entered data into XML for any XML-supporting process to use. With an InfoPath solution in place, you can convert all those commonly used paper forms into Microsoft Office-based forms and end the cycle of handwriting and reentering data into your systems. Today organizations are beginning to realize the value of the mountains of data they collect every day, how hard it is to access it, and are striving to mine it effectively. InfoPath will aid in the design of effective data collection systems. Here the author shows you how to get started. Aaron Skonnard

.NET Remoting: Create a Custom Marshaling Implementation Using .NET Remoting and COM Interop

The .NET Framework offers several methods for customizing the presentation of native .NET and COM object types. One such technique, custom marshaling, refers to the notion of specializing object type presentations. There are times, like when a legacy COM component needs to implement a new interface or when you need to make calls across process or machine boundaries, when custom marshaling saves the day. Elements of COM Interop permit the customizing of COM types while .NET Remoting offers the developer the ability to tailor native .NET types. This article examines these techniques. Jim Sievert

.NET Internals: Rewrite MSIL Code on the Fly with the .NET Framework Profiling API

In this article, the author shows how to dynamically rewrite Microsoft Intermediate Language code on the fly using the Profiling API of the CLR. Unlike approaches based on Reflection.Emit, this scheme works with the existing assemblies and doesn't require the creation of proxy or dynamic assemblies. The need for IL code rewriting emerges when you want to make your changes transparent to the client and preserve the identity of classes. This technique can be used for creation of interceptors, pre- and post-processing method calls, and code instrumentation and verification. Aleksandr Mikunov

Coroutines: Implementing Coroutines for .NET by Wrapping the Unmanaged Fiber API

Coroutines are a powerful feature of many programming languages including CLU, Scheme, Python, Ruby, and ICON. Coroutines can save processor overhead and reduce redundancy because they allow you to stop execution of a procedure midstream, return a value, and resume exactly where the procedure left off.This article shows how coroutines can be implemented for the .NET Framework by using the Fiber API and Managed Extensions for C++, and how they can be easily used with other .NET-compliant languages. This article also shows a sophisticated use of the runtime host for running multiple managed threads on a single OS thread. Ajai Shankar

Visual C++ 6.0: Don't Let Memory Allocation Failures Crash Your Legacy STL Application

Most C++ developers make extensive use of the Standard Template Library (STL) in their code. If you are one of them and are using STL and Visual C++ 6.0 directly out of the box, your application is at high risk of crashing under low memory conditions. The problem arises because checking for failure of operator new is such an uncommon practice. To make things worse, when new does fail, the response is not standard. Some language compilers return NULL while others throw an exception.In addition, if you are using STL in an MFC project, be aware that MFC has its own set of rules. This article discusses these problems, explains how the default behavior has changed in Visual C++ .NET 2003, and outlines the changes you must make if you're using Visual C++ 6.0 so that you can safely use the STL when operator new fails. James Hebben

Code Download (9,535 KB)
.Chm Files


Editor's Note: Tales of a GPS Demo

One of the most annoying things about the Internet is that no matter how hard you try to make something permanent, it can be gone tomorrow with no forwarding address. We found this out the hard way earlier this year, and we're hoping to remedy the situation with this Editor's Note.

New Stuff: Resources for Your Developer Toolbox

ISYS/Odyssey Development Inc. now supports the Microsoft® . NET Framework with the availability of the ISYS:web. asp 6. 0 search engine product. Developers using ASP. NET can interface directly with the core ISYS engine, powering their Web applications with the search and retrieval features of ISYS:web.Theresa W. Carey

Web Q&A: InfoPath Back End, WSH Script Signing, and More

Edited by Nancy Michell

Data Points: Developing Apps with the .NET Compact Framework, SQL Server CE, and Replication

John Papa

Cutting Edge: Managing Your Remote Windows Clipboard

Dino Esposito

The XML Files: Introducing the Web Services Enhancements 2.0 Messaging API

Aaron Skonnard

Advanced Basics: Creating Text Images On the Fly with GDI+

Ken Spencer

The ASP Column: The Internet Explorer Toolbar Control

George Shepherd

.NET Column: Introducing Generics in the CLR

Jason Clark

C++ Q&A: Retrieving Hidden Path Names, Mouse Events in C#

Paul DiLascia

Resource File: Microsoft Virtual Machine Remediation

Developers who use the Microsoft virtual machine (VM) will need to transition away from its use by January 2004. To comply with a court settlement with Sun Microsystems, Microsoft will not be able to update the Microsoft VM, even to repair critical security vulnerabilities.