Archive for the ‘Development’ Category
Posted by jpluimers on 2014/01/16
This is one of the things I tend to forget, as you do it once per machine, and the place to do it is not logical to me.
I mainly use it to quickly record a Macro (boy, I wish Office had a TemporaryMacro feature like Visual Studio had. Alas no more: Macro Recording/Playback has been removed in Visual Studio 2012).
The logical place for me would be to have a context-menu on the ribbon where you can enable the Developer tab.
Anyway, this is how to enable the Developer tab in Word 2007/2010/2013: Read the rest of this entry »
Posted in Development, Office, Office 2007, Office 2010, Office 2013, Power User, Software Development, Visual Studio 11, Visual Studio 2002, Visual Studio 2003, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio and tools, Word | Leave a Comment »
Posted by jpluimers on 2014/01/15
At clients, I see quite a few people being confused by this compiler error message:
Error 1 The type 'string' must be a non-nullable value type in order to use it as parameter 'T' in the generic type or method 'System.Nullable'
One of the reasons about the confusion is that a string variable behaves like a value type, but in fact is a reference type because their values can consume a huge amount of memory (thanks User codekaizen).
A few interesting questions on that on StackOverflow:
Anyway, back to the error message above.
Lots of people are confused by it, just see a few questions on StackOverflow: Read the rest of this entry »
Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, C#, C# 2.0, C# 3.0, C# 4.0, C# 5.0, Development, Jon Skeet, Software Development | Leave a Comment »
Posted by jpluimers on 2014/01/14
Last year, I had a very odd project at a client.
Their monitoring software was quite odd, and there was no time to create/test/implement a module for it doing SQL query performance measurement any better.
The odd software had two ways of looking at queries:
- in a succeed/fail fashion
- in a count(*) fashion
Don’t ask why it was that way, the monitor was hysterically grown.
So below is a small query script that does what the odd monitoring software can do: provide a select with rows indicating the query response time.
What is does is insert into the #sma temporary table a number of records depending on the query duration.
The partition here is 1 record per 125 milliseconds, aiming for four partitions (green, yellow, orange, red) in half a second.
Note the maximum accuracy is about 3.3 milliseconds.
The script is based on these SQL server features:
I might add a try/catch to fake a finally in case the #sma insert fails. Read the rest of this entry »
Posted in Database Development, Development, SQL Server, SQL Server 2000, SQL Server 2005, SQL Server 2008, SQL Server 2008 R2, SQL Server 2012 | Leave a Comment »
Posted by jpluimers on 2014/01/10
Ever since around Delphi 2007, it started to use temporary .VRC files to re-build the project .RES file.
It confuses people, and with reason as the only public information about it on the dockwiki seems to be in the Version Info page (though there is more on the other embarcadero sites).
The reason is that parts of the .RES file are no more leading in the process of getting them from your project options to the final binary (EXE/DLL/BPL/…) of your project.
Delphi XE3 for instance can have these resource structures in the .VRC file:
Except for type 24, Delphi XE2 seems to have the same kinds of resource types.
All in all, most if not all of the .RES files are being auto-generated for at least a couple of years now so there is less and less need to put it under version control.
The problem is that if for one reason or the other, your project .RES file becomes readonly, and you get errors like mentioned in Why does a projects res file need to ….
[BRCC32 Error] xxx.vrc(1): error creating xxx.res
.RES in VCS or not?
Read the rest of this entry »
Posted in Conference Topics, Conferences, Delphi, Delphi XE, Delphi XE2, Delphi XE3, Delphi XE4, Delphi XE5, Development, Event, QC, Resource Files and Scripts (.res/.rc), Software Development | Leave a Comment »
Posted by jpluimers on 2014/01/09
Reading c# – Type.IsSubclassOf does not behave as expected – Stack Overflow, I found this very interesting link via Assembly Load Contexts Subtleties at Sasha Goldshtein’s blog (I love the name of the blog: All Your Base Are Belong To Us).
He explains the reasons for the error message
System.InvalidCastException: Unable to cast object of type ‘Plugin.MyPlugin’ to type ‘Plugin.MyPlugin’.
Actually his blog entry is an abstract of a 200+ page thesis on that is also recommended reading: Flexible Dynamic Linkin for .NET (by Anders Aaltonen, Alex Buckley and Susan Eisenbach).
–jeroen
via:
Posted in .NET, .NET 3.5, .NET 4.0, .NET 4.5, .NET CF, C#, C# 3.0, C# 4.0, C# 5.0, Development, Software Development | Leave a Comment »
Posted by jpluimers on 2014/01/08
Cool: now you can use a Raspberry Pi to play Watchdog (:
–jeroen
via: The Self-resetting Raspberry Pi » RasPi.TV.

Posted in Development, Hardware Development, Raspberry Pi | Leave a Comment »
Posted by jpluimers on 2014/01/07
Thanks Pedro! (emphasis below is mine)
The ContextSwitchDeadlock doesn’t necessarily mean your code has an issue, just that there is a potential.
If you go to Debug > Exceptions in the menu and expand the “Managed Debugging Assistants”, you will find ContextSwitchDeadlock is enabled.
If you disable this, VS will no longer warn you when items are taking a long time to process.
In some cases you may validly have a long-running operation.
It’s also helpful if you are debugging and have stopped on a line while this is processing – you don’t want it to complain before you’ve had a chance to dig into an issue.
–jeroen
via: c# – Visual Studio: ContextSwitchDeadlock – Stack Overflow.
Posted in .NET, .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0, .NET 4.5, Development, Software Development, Visual Studio 11, Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, Visual Studio and tools | Leave a Comment »
Posted by jpluimers on 2014/01/04
Hadn’t been doing SOAP in Delphi for a while, and needed to send some Delphi data structures over the write where both Client and Server were going to be Delphi.
These links helped me:
If both client and server are Delphi, you can share the interface units and registration.
Note: since native Delphi SOAP support uses old-skool RTTI, so any property you want to go over the wire needs to be published, not public.
If you want to go beyond that, or use other protocols than SOAP, use libraries for Delphi like RemObjects SDK.
–jeroen
Posted in Conference Topics, Conferences, Delphi, Delphi XE3, Delphi XE4, Delphi XE5, Development, Event, Software Development | Leave a Comment »