Creativity, Innovation... Failure



Top tools for the managed and native programmer...

In this post I will compile a list of tools that I use. Feel free to suggest any other tool :

Common Tools
WinDirStat reads the whole directory tree once and then presents it in three useful views.
http://windirstat.info/

Dependency Walker is a free utility that scans any 32-bit or 64-bit Windows module (exe, dll, ocx, sys, etc.) and builds a hierarchical tree diagram of all dependent modules.
http://www.dependencywalker.com/

Process Explorer shows you information about which handles and DLLs processes have opened or loaded.
http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx

Managed
Deliver The Power Of Spy++ To Windows Forms
http://msdn.microsoft.com/en-us/magazine/cc163617.aspx 

Explore, browse, and analyze .NET assemblies
http://www.red-gate.com/products/reflector/

Native
Spy++ (Available with Visual Studio.)

Profiling
AQTime ($)
http://www.automatedqa.com/products/aqtime/

Visual Studio Addin
Instantly find every occurrence of a function, variable, API, error code or anything else in your source code, with a single keystroke.
http://entrian.com/source-search/


Notes : Programming in a managed and native environment

In this post I will be writting about calling managed code from native code.

The flag of compilation /clr:old_syntax does not support the use of specific .NET keywords (as #using).
Therefore, using /clr would be a workaround but is incompatible with flag /rtc1.

So I need a way to call managed code in a dll B from native code in a dll A.
To do so, no C++ managed extensions (C++/CLI) must be in dll A. Otherwise, it would need to be compiled with the flag /clr.

Solution is to put a native exported function (_declspec(export)) in dll B which returns an interface to my managed class. Then in my native dll A, I would simply include the header file to the exported function from managed dll B and call it to retrieve an interface which maps to the concrete managed class in dll B.

Hope this helps someone, if not feel free to ask questions.


ToolTip - Win32 vs .NET

Great sources of info on the subject but no true comparison.

Assembly implementation
http://win32assembly.online.fr/tut27.html

Ballon effect and code on how to show tooltip programmaticly
http://www.codeproject.com/KB/miscctrl/ballontooltip.aspx
http://www.codeguru.com/forum/archive/index.php/t-28180.html

MSDN - ToolTip .NET
http://msdn.microsoft.com/en-us/library/system.windows.forms.tooltip.aspx

MSDN - About ToolTip Controls
http://msdn.microsoft.com/en-us/library/bb760250%28VS.85%29.aspx#Relaying_Mouse_Messa

Implementation of ToolTip with Win32 on ReactOS
http://doxygen.reactos.org/d4/da9/tooltips_8c-source.html


Tags:
Categories: .NET | Programming
Actions: E-mail | Permalink | Comments (84) | Comment RSSRSS comment feed