Notizen

.NET Applications with Unmanaged DLLs

C# becomes increasingly popular for implementing Windows GUIs as .NET applications. However a lot of the business logic and communication modules are still implemented in C++ native (i.e. unmanaged) DLLs. There are several ways of accessing the C++ unmanaged business logic from the C# managed user interface, based on P/Invoke or COM.

After successfully using such a managed/unmanaged application on a 32 bit OS starting it on a 64 bit OS brings a surprise: the application fails to start. The reason is that a .NET application built with default settings is executed as a 64 bit application. Whether an application is running as 32 or 64 bit is visible in the task manager; all 32 bit processes are marked by appending '* 32' to the process image name dotnet task mngr 32bit

Weiterlesen: .NET Applications with Unmanaged DLLs

Don't call it 'Update'

After some minor changes a simple Windows application asked at startup for 'elevated rights'.

msgbox uac testconsole

The application manifest did not contain the 'requireAdministrator' option and nothing indicated that the application was doing anything controlled by security restrictions.

Weiterlesen: Don't call it 'Update'

Cryptical display of STL classes in the VC++ debugger

While in the old days of Visual Studio 6 checking the contents of STL classes in the debugger was rather cryptical, Visual Studio 2005 made this part of debugging STL objects a piece-of-cake. An instance of the STL map class nicely lists its entries

stl map watch ok

Weiterlesen: Cryptical display of STL classes in the VC++ debugger