MSDN Magazine > Issues and Downloads > 2003 >  MSDN Magazine September 2003
September2003 September 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

Columns
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.
Page view tracker