Apr 192005
 

Just wanted to let you know: nice jobofferings are welcome. Things look like I’m available per July 1st, 2005. Mail me for my resume. The function needs to be consultancy (give me a car, I’ll drive), or a non-consultancy job but in area of Enschede (Ov, NL).

Things to expect:
– Project Management (Prince2)
– Oracle DBA (6 -> 10g)
– HP-UX expertise
– Delphi or C# development

Contact me for details on either jobs (you hire me), or employment (you employ me).

 Posted by at 01:00
Apr 182005
 

I just noticed my site was hacked. The file b2evolutionconf_config.php was altered. The baseurl was set to some hacker-names. Respect for how they did that, but I must say it does not really amuse me. So the magic word: PLEASE don’t do it again.

To show that you succeeded, here’s a screenshot of what people would see:

 Posted by at 21:02
Apr 182005
 

Perry blogs about choices developers make. In this case, the choice between Delphi2005 and VS.NET 2003/2005. Is it me, or is he asking the wrong questions to have the arguments come out in favor of Delphi2005?

My take on this at the moment is that I spend a lot of time looking how the .NET framework works, whereas using Delphi2005 would give me VCL.NET, that I know since it’s similar to good old VCL. But choosing a non-VCL.NET project in Delphi2005 would give me the same problem: I’m not too familiair yet with the .NET Framework.
Other than that, I’ve found VS.NET a very mature and stable IDE, so it’s getting me things done.

Why not choose VCL.NET, you might ask? Well, I think a big feature of .NET is the freedom the developer has to choose its tools. Using VCL.NET would restrict me and others to Borland. When I use standard Windows.Forms, it does not matter whether I use VS.NET, Delphi2005, perl.NET or whatever: the code can be compiled, or with minimal effort translated. Depending on proprietary libraries/assemblies ties your hands, as most of us will have experienced to some degree in the past. Giving you a new version (VCL.NET) of a well-known trick (VCL) seems like a good idea for a developer, since you can “port” your code with no or minimal effort. But basically it’s just another way of saying: I’m bound to one tool, and one tool only.

 Posted by at 13:52
Apr 182005
 

Any developer can tell you stories how coding can be rewarding. Very rewarding. But coding is fun too. Not everything should be built for monetary reasons, but just for the fun of it.

Have a look at Coding4Fun, Microsoft’s new not-so-serious corner on MSDN. But don’t let the name fool you, some projects are actually rather serious. There’s a game-development project, a project to drive a LED-display to show what’s playing on your PC’s mediaplayer, a network/systemmonitor tool. The fun part: lot’s of source included…

 Posted by at 11:22
Apr 162005
 

Okay, I did it. Why this is so completely and utterly undocumented, I don’t know. There are no proper examples in C# (lot’s of VB.NET, but some methods take different arguments, some methods/properties don’t exist) to change the Appointment’s color (“label” in the Outlook-dialog) programmaticaly. So here goes, for your sake.


{
MAPI.Session myMAPISession = new MAPI.SessionClass();
object myMV = System.Reflection.Missing.Value;
myMAPISession.Logon("Microsoft Outlook Internet Settings",myMV,false,myMV,myMV,myMV,myMV);
MAPI.Message myMAPIMessage = (MAPI.Message)myMAPISession.GetMessage(Afspraak.EntryID,myMV);
MAPI.Fields myMAPIFields = (MAPI.Fields)myMAPIMessage.Fields;
MAPI.Field myApptLabel = (MAPI.Field)myMAPIFields.get_Item("0x8214","0220060000000000C000000000000046");
if(myApptLabel.Equals(null))
{
myApptLabel = (MAPI.Field)myMAPIFields.Add("0x8214","long",3,"0220060000000000C000000000000046");
}
else
{
myApptLabel.Value = 3;
}
myMAPIMessage.Update(true,true);
}

Now help me out: how can I change the hardcoded “Microsoft Outlook Internet Settings” to some constant or variable pointing at the default profile?

 Posted by at 01:21
Apr 132005
 

I have Office 2003, but at work we have Office XP, so my ERP->Outlook project would not run, since it would not find the proper DLL (Microsoft.Office.Interop.Outlook.dll). Now I downloaded the Office XP PIA‘s, and I’ve rebuild the application with these assemblies. The application still works with Office 2003, so I will find out tomorrow if it solved the problem for Office XP.

Update: it works! So the Office 11 .DLL can not be used with Office 10, but the other way around works fine. I would have guessed that backwards compatibility would have taken care of things, but not with MS Office…

 Posted by at 19:55
Apr 122005
 

Yesterday, I corrected a little bug I discovered. When an appointment had several attendees, my program would create multiple entries in Outlook, each with one attendee. I moved a line of code and now things work like they should.

What I want to achieve, is marking the appointments in a non-default color, which you can do in Outlook manually in the New->Appointment dialog. By default Outlook chooses None, but you have Important, Personal, Holiday, etc. The odd thing is, that the “label” (as it is called in the dialog) is not an exposed property of the AppointmentItem you can set.
You need to access Outlook via de MAPI-interface, look for the Calendar-folder, find the item in the Calendar folder, and then change some properties. Very odd, and not very well documented. I spend a great deal of the evening looking for samples how to do it, but so far I have no working code.

 Posted by at 14:59
Apr 122005
 

I still get a lot of search hits from people looking for a way to change the extensions that cannot be viewed in Outlook, because Microsoft decided in all her wisdom to mark a lot of extensions as “unsafe”. In Outlook Express there is a nice dialog to change this behaviour, in Outlook there is not. You can do it by editing the registry by hand, but a lot of people are afraid to do so.

For that reason, I created ouau.exe, or “Outlook Unsafe Attachments Unblocker”. It detects your Office version (which you can override) and lists the extension so you can block/unblock them. There’s a handy “select all” radiobutton that will save you some clicking.

Here is a screenshot.

Click here to download the program. It’s in WinRAR format, so you need to extract it first.