2012

Here is an overview of the things that I’ve done in 2012. Codexpert Revamped The main site for the Romanian C++ community has a brand new, modern look (all built with HTML5), making things easier to find. We also now feature a blog in English, which is intended to replace the old article section. codexpert.ro…

Read More 2012 in Review

In the previous posts I introduced cpplinq, a C++ template library that provides .NET-like query operators for sequences of objects in C++11. In this third installment I will discuss the set operators the library provides. There are four set operators: distinct, union_with (called so because union is a keyword in C++), intersect_with (suffix _with is…

Read More cpplinq: set operators

In my previous post I introduced cpplinq, a C++ template library that provides .NET-like query operators for sequences of objects in C++11. In this second installment I will discuss about two things: range generators and range conversion operators. These two sets of operators are ubiquitous in queries. Range generators A range generator builds an object…

Read More cpplinq: range generators and conversion operators

It is possible to host WPF controls in a Win32 application, and the other way around, but because of the differences betweeb these technologies there are various issues that can appear. One of these is handling of keyboard input. Without diving too much into differences between WPF and Win32, I will show how to provide…

Read More Keyboard input and TAB navigation between WPF controls in a Win32 application

Trying to figure out in which process a particular DLL is currently loaded, I have found two solutions (perhaps there are more). Solution 1: tasklist.exe

Solution 2: listdlls.exe (from sysinternals)

It might be that listdlls is more reliable than tasklist. I have ran into cases when tasklist failed to list processes that had…

Read More How to Determine What Process Loaded a DLL

Working with T4 recently I learned a couple of valuable lessons I’d like to share. Lesson 1: Template Language One of the parameters of the language directive is the language, which specifies the language used in the code blocks of the template. Two languages are specified, C# and VB.

However, any attempts to use…

Read More T4 Lessons Learned

I recently ran into problems with an MFC application that was hosting some Windows Form user control in a modal dialog; the application hanged after it lost focus. The problem was the window received WM_GETDLGCODE message in an infinite loop making it impossible to handle anything else. After a lot of digging, I found that…

Read More A tale of two flags: DS_CONTROL and WS_EX_CONTROLPARENT