The Wiert Corner – irregular stream of stuff

Jeroen W. Pluimers on .NET, C#, Delphi, databases, and personal interests

  • My badges

  • Twitter Updates

  • Pages

  • All categories

  • Enter your email address to subscribe to this blog and receive notifications of new posts by email.

    Join 1,839 other subscribers

Archive for the ‘.NET’ Category

CodeRage 4: sessions recorded; Delphi 2010 migration was a beeze; samples/slides will be uploaded soon

Posted by jpluimers on 2009/09/05

I just finished recording my CodeRage 4 sessions:

  • Practical XML in Delphi
  • Reliable Communication between Applications with Delphi and ActiveMQ
  • Using Unicode and Other Encodings in your Programs

CodeRage 4 is a free, virtual conference on Embarcadero technologies with a lot of Delphi sessions.
It is held from September 8 till 11, 2009, i.e. next week :-)
If you want to watch sessions live, be sure to register through LiveMeeting (the technology they use for making this all happen).

This week, I found some time do migrate all the sample projects to the release versions of Delphi Win32 2010 and Delphi Prism 2010.

Delphi Win32 2010 works like a charm: it is much faster and has a much smaller footprint than any other Galileo based IDE.
In fact, it feels almost as fast as the pre-Galileo based IDE’s.
With the added benefit that all the new features make me much more productive, not the least because it has not yet crashed on me this week once.
Crashing has been a frequent thing on me since Delphi 4 (maybe I should not even mention that number ), for most IDE’s at least a couple of times a week, so this is good.

Delphi Prism 2010 works really nice too, it is rock solid, and the language as some great features not found in other .NET languages.
But it still needs a tiny bit more polishing on the Visual Studio IDE Integration part.
There are a few things not as smoothly integrated as I’m used to in C# and VB .NET (for instance when adding assembly references; C# and VB.NET allow you to do that from multiple places in the IDE; Delphi Prism from only one).
I know it is nitpicking (the same holds for the Team Foundation System integration in the Visual Studio IDE: ever tried to add files or folders? There is only one icon that allows you to do it. Ever tried to move files or folders around? No way you can drag & drop, in fact you can move only 1 file or folder at a time, and then the folder tree leaves you at the target).

The Embarcadero folks have worked hard on developer productivity in the Delphi Win32 2010 IDE.
(Did I mention the F6 key? It is an awesome way of directly jumping into configuration dialogs a zillion levels deep.
Did I mention the Ctrl-D key? It instantly reformats your source code to your formatting settings).
So maybe it is now time to put some of that effort into the Prism side as well.

Back to my CodeRage sessions: the recordings are done, they will soon become available as downloads together with the samples/slides.

Keep watching :-)

–jeroen

Posted in .NET, CommandLine, Database Development, Debugging, Delphi, Development, Encoding, Event, Firebird, InterBase, Java, Package Development, Prism, Software Development, Source Code Management, TFS (Team Foundation System), Unicode, Visual Studio and tools, XML, XML/XSD, XSD | Leave a Comment »

.NET – Delphi Prism – How to generate wrapper classes code from XSD file

Posted by jpluimers on 2009/09/04

I do a lot of .NET work; most in C#, but also some in Delphi Prism (which like C#, VB.NET and other languages integrate in the Visual Studio Shell).

Both Visual Studio and the .NET Framework SDK include a nifty tool called XSD.EXE.

XSD.EXE allows you you to generate the code for wrapper classes from your XSD or other schema definition file, both for regular classes (that you can use for XML Serialization) as well as for typed dataset classes.

You need to specify the Oxygene language to generate Delphi Prism code.

A sample batch-file is here:

xsd /classes /language:Oxygene /namespace:xokumClasses xokum.xsd
rename xokum.pas xokumClasses.pas

xsd /dataset /language:Oxygene /namespace:XokumDataset xokum.xsd
rename xokum.pas xokumDataset.pas

Thanks to Peter Nowotnick who posted this answer at Stackoverflow!

–jeroen

Posted in .NET, CommandLine, Delphi, Development, Pingback, Prism, Software Development, Stackoverflow, Visual Studio and tools, XML/XSD, XSD | 4 Comments »

yet another update to TFS 2008 Folder Comparison Filter for both C# and Delphi projects « The Wiert Corner – Jeroen Pluimers’ irregular stream of Wiert stuff

Posted by jpluimers on 2009/07/16

I just found out that in my updates to TFS 2008 Folder Comparison Filter for both C# and Delphi projects somehow some backslashes (\) were missing.

Oops, sorry :-)

These backslashes are important when excluding directories: if omitted, TFS thinks you want to exclude a filename in stead of a directory name (see Folder Comparison Filters).

It might be due to the HTML pasting issue that I explained in Including formatted sourcecode in WordPress.

Anyway, here is the correct one that has the backslashes at the right places:

!*.pdb;!*.obj;!*.dll;!*.exe;!*.res;!*.resources;!*.cache;!*.ilk;!*.ncb;!obj\;!objd\;!bin\;!lib\;!*.local;!*.identcache;!*.dcu;!__history\;!*.dsk;!*.~*;!*.stat;!*.drc;!*.map;!*.csproj.user;!*.vbproj.user;!*.csproj.webinfo;!*.vbproj.webinfo;!*.suo;!*.bpl;!*.dcp;!*.log;!*.lck

(Note these all should be on one line when pasting them).

–jeroen

Posted in .NET, C# 2.0, C# 3.0, Delphi, Development, Prism, Software Development, Source Code Management, TFS (Team Foundation System), WordPress | Leave a Comment »

C#/.NET – GetExecutablePath – borrowed a bit from the Delphi 2006 RTL

Posted by jpluimers on 2009/07/15

Somehow, at every client I need a function like GetExecutablePath.

Maybe you do too, so here is the code that I adapted a long time ago from the Delphi 2006 RTL:

using System;
using System.Diagnostics;
using System.Reflection;
namespace bo.Reflection
{
    public class AssemblyHelper
    {

        public static string GetExecutablePath()
        {
            // borrowed from D2006\source\dotNet\rtl\Borland.Delphi.System.pas function ParamStr():
            string result;
            Assembly entryAssembly = Assembly.GetEntryAssembly();
            if (null != entryAssembly)
            {
                result = entryAssembly.Location;
            }
            else
            {
                Process currentProcess = Process.GetCurrentProcess();
                ProcessModule mainModule = currentProcess.MainModule;
                result = mainModule.FileName;
            }
            return result;
        }
    }
}

Enjoy :-)

–jeroen

Posted in .NET, C#, C# 2.0, C# 3.0, Delphi, Development, Software Development, Visual Studio and tools | 2 Comments »

yet another update to TFS 2008 Folder Comparison Filter for both C# and Delphi projects « The Wiert Corner – Jeroen Pluimers’ irregular stream of Wiert stuff

Posted by jpluimers on 2009/07/09

Here is another update for the TFS 2008 Folder Comparison Filter for both C# and Delphi projects:

Exclude .bpl, .dcp, log and .lck files.

So then the search filter becomes this:

!*.pdb;!*.obj;!*.dll;!*.exe;!*.res;!*.resources;!*.cache;!*.ilk;!*.ncb;!obj;!objd;!bin;!lib;!*.local;!*.identcache;!*.dcu;!__history;!*.dsk;!*.~*;!*.stat;!*.drc;!*.map;!*.csproj.user;!*.vbproj.user;!*.csproj.webinfo;!*.vbproj.webinfo;!*.suo;!*.bpl;!*.dcp;!*.log;!*.lck

(Note: this all goes on one line; your web-browser probably wraps this over multiple lines, so you might need to undo that wrapping before pasting it in to TFS).

Have fun with it!

–jeroen

Posted in .NET, Delphi, Development, Software Development, Source Code Management, TFS (Team Foundation System), Visual Studio and tools | Leave a Comment »

update to TFS 2008 Folder Comparison Filter for both C# and Delphi projects « The Wiert Corner – Jeroen Pluimers’ irregular stream of Wiert stuff

Posted by jpluimers on 2009/06/09

Last month I wrote about the TFS 2008 Folder Comparison Filter for both C# and Delphi projects; here is an update:

If you enable the generation of MAP files during compilation, you might not want to include them in your search filter.

Also, the .suo, .user and .webinfo extensions were missing (for an explanation of Visual Studio file extensions, see here and here), so then the search filter becomes this:

!*.pdb;!*.obj;!*.dll;!*.exe;!*.res;!*.resources;!*.cache;!*.ilk;!*.ncb;!obj\;!objd\;!bin\;!lib\;!*.local;!*.identcache;!*.dcu;!__history;!*.dsk;!*.~*;!*.stat;!*.drc;!*.map;!*.csproj.user;!*.vbproj.user;!*.csproj.webinfo;!*.vbproj.webinfo;!*.suo

Have fun with it!

–jeroen

Posted in .NET, C#, Delphi, Development, Prism, Software Development, Source Code Management, TFS (Team Foundation System), Visual Studio and tools | Leave a Comment »

Spoken @ DevDays 2009 NL – download is online: .NET & hardware – capture video & control servos, in a fun application

Posted by jpluimers on 2009/06/02

Last week I spoke at the GeekNight of the Dutch Microsoft DevDays 2009.
A great conference, signalling two important industry wide trends:

  • Cloud computing
  • Natural user interfaces

There were many interesting presentations on both, and we are only at the beginning of those trends: interesting times are ahead!

My presentation (.NET & hardware – capture video & control servos, in a fun application) was as a GeekNight session.
That imposed geeky stuff, but in addition it addressed an important point: there will be many more means of interaction.
In particular, my ‘geek’ combination of hardware and software would react on movements seen by the webcam by pointing the beam of the laserpointer towards the largest area that moved.

After that I enjoyed the long Pentecost weekend (yes, the monday after Pentecost is a Holiday in the Netherlands, so most people have a day off then).

Today I updated my Conferences, seminars and other public appearances page with my DevDays materials to download.

It contains both the sourcecode, and the presentation in English.

Enjoy the download :-)

–jeroen

Posted in .NET, C#, C# 2.0, C# 3.0, DevDays09, Development, Event, Hardware Interfacing, Servo, Software Development, USB, WebCam | Leave a Comment »

TFS 2008 Folder Comparison Filter for both C# and Delphi projects

Posted by jpluimers on 2009/05/25

When using TFS (Team Foundation System) 2008 as a Version Control / Source Code Management system not only for your C#, but also for Delphi projects, this is a good filter string when using the ‘Compare Folders‘ function of TFS:

!*.pdb;!*.obj;!*.dll;!*.exe;!*.res;!*.resources;!*.cache;!*.ilk;!*.ncb;!obj\;!objd\;!bin\;!lib\;!*.local;!*.identcache;!*.dcu;!__history\;!*.dsk;!*.~*;!*.stat;!*.drc

This is the regular Folder Comparison Filter – the bold above is the addition and the link contains an explanation of the filter syntax:

!*.pdb;!*.obj;!*.dll;!*.exe;!*.res;!*.resources;!*.cache;!*.ilk;!*.ncb;!obj\;!objd\;!bin\

Hope this helps some of you in reducing the amount of clutter in the resulting comparisons :-)

–jeroen

Posted in .NET, C#, Delphi, Development, Software Development, Source Code Management, TFS (Team Foundation System) | 3 Comments »

Edited: Conferences, seminars and other public appearances « The Wiert Corner

Posted by jpluimers on 2009/05/15

I have edited the Conferences, seminars and other public appearances/ page and extended the list of conferences I have attended in the past including many sessions.

Topics covered in these sessions have been C#, Delphi, Databases, Linux, Kylix, debugging, Compact Framework, and much much more.

Let me know which sessions you’d like to see online first.

The list is far from complete, but it is another step into getting the list more accurate.

–jeroen

Posted in .NET, C#, C# 2.0, Component Development, Conferences, Database Development, Delphi, Designer Development, Development, Event, Firebird, InterBase, Package Development, Software Development, SQL Server, Visual Studio and tools, XML, XML/XSD | Leave a Comment »

Speaking @ BASTA! 2009 – .NET Everywhere!, September 21-25, 2009, Rheingoldhalle, Mainz, Germany on .NET gems, C#, WPF multi-media and much more.

Posted by jpluimers on 2009/05/15

Masoud Kamali just notified that 2 of my sessions got accepted for the German BASTA! 2009 – .NET Everywhere! conference that is being held from September 21 til 25 in the Rheingoldhalle (which is in Mainz right in between the river Rhine and the city centre).

These are the sessions I’m going to do:

  • WPF multi-media: smart client with audio, photos and video 
  • .NET gems – small pieces of code that make your day

It’s gonna be fun!

Posted in C#, C# 2.0, Conferences, Development, Event, Software Development | Leave a Comment »