For MSDN subscribers:
Visual Studio 2010 RTM will be available on MSDN around these times:
- 10:00 PST
- 13:00 EST
- 17:00 UTC
Other time zones: see this Worlclock link.
Sources:
Posted by jpluimers on 2010/04/12
For MSDN subscribers:
Visual Studio 2010 RTM will be available on MSDN around these times:
Other time zones: see this Worlclock link.
Sources:
Posted in .NET, Delphi, Development, Software Development, Visual Studio and tools | Leave a Comment »
Posted by jpluimers on 2010/02/12
Google published an interesting graph generated from their internal data based on their indexed web pages.
A quick summary of popular encodings based on the graph:
Conclusion: if you do something with the web, make sure you support Unicode.
When you are using Delphi, and need help with transitioning to Unicode: contact me.
–jeroen
* Western European encodings: Windows-1252, ISO-8859-1 and ISO-8859-15.
Reference: Official Google Blog: Unicode nearing 50% of the web.
Edit: 20100212T1500
Some people mentioned (either in the comments or otherwise) that a some sites pretend they emit Unicode, but in fact they don’t.
This doesn’t relieve you from making sure you support Unicode: Don’t pretend you support Unicode, but do it properly!
Examples of bad support for Unicode are not limited to the visible web, but also applications talking to the web, and to webservices (one of my own experiences is explained in StUF – receiving data from a provider where UTF-8 is in fact ISO-8859: it shows an example where a vendor does Unicode support really wrong).
So: when you support Unicode, support it properly.
–jeroen
Posted in .NET, ASP.NET, C#, Database Development, Delphi, Development, Encoding, Firebird, IIS, InterBase, ISO-8859, ISO8859, Prism, SOAP/WebServices, Software Development, SQL Server, Unicode, UTF-8, UTF8, Visual Studio and tools, Web Development | 7 Comments »
Posted by jpluimers on 2010/01/19
Recently, I had an issue while validating XML with XSD: validation in .NET using the built in classes in the System.XML namespace, and validation in native Windows using the COM objects exposed by MSXML version 6 (which incidentally ships with the .NET 3.0 framework).
Some documents validating OK in .NET did not validate well with MSXML.
I’ll show my findings below, and try to explain the difference I found, together with my conclusions.
The main conclusion is that MSXML version 6 has a bug, but I wonder why I can’t find much more information on it.
Since there is not so much ready to use for validating XML by XSD in .NET and native, I’ll include complete source code of command-line validations applications for both platforms.
.NET source code is in C#.
Native source code is in Delphi.
Read the rest of this entry »
Posted in .NET, C#, C# 2.0, C# 3.0, Delphi, Development, Software Development, Visual Studio and tools, XML, XML/XSD, XSD | 4 Comments »
Posted by jpluimers on 2010/01/12
Finally someone who explains this topic well: CodeProject: Multi-Threading in ASP.NET.
Most of it is based on Web 405 “Building Highly Scalable ASP.NET Web Sites by Exploiting Asynchronous Programming Models” by Jeff Prosise, which should be here on the Microsoft events site (which currently has connection problems) and is referenced here and here.
Recommended reading!
–jeroen
Posted in .NET, ASP.NET, C#, C# 2.0, C# 3.0, C# 4.0, Development, IIS, Software Development, Visual Studio and tools | 2 Comments »
Posted by jpluimers on 2010/01/05
Gerrit Beuze just announced the new beta of ModelMaker Code Explorer 8.
For me, ModelMaker Code Explorer (especially at a price of only EUR 99!) is an indispensable tool for both creating new sources, and maintaining old sources (the refactorings it can do are awesome, but there are many other useful features in it as well).
Over the years, I’ve been using interfaces in Delphi more and more.
Actually, in some of my projects almost all classes implement interfaces.
Therefore, I’m particularly glad with the new feature ’auto complete style drop down list’ in the ‘Edit Class dialog’ that this beta brings.
More info: ModelMaker Code Explorer 8.02 beta.
Note: if you use Visual Studio, there is a Visual Studio edition of ModelMaker Code Explorer too.
–jeroen
Posted in C# 2.0, C# 3.0, Delphi, Development, Software Development, Visual Studio and tools | Leave a Comment »
Posted by jpluimers on 2009/09/14
http://it-republik.de/dotnet/basta/The class presented in this article is part of my “.NET Gems – Small Pieces of Code that make your Day” session that will be presented at the BASTA! conference next week in Mainz, Germany.
It is going to be a fun conference, with lots of (internationally) renowned speakers (like Oliver Sturm, Ingo Rammer, Stephen Forte, Neil Ford and Dino Esposito).
Well worth attending!
OK. Let’s show the gems, and assume you are writing a method that is not allowed to let exceptions leave it’s implementation.
This is a common case, for instance you develop COM Servers, Windows Services and to a lesser extent Web Services.
Read the rest of this entry »
Posted in .NET, BASTA!, C#, C# 2.0, Development, Event, Software Development, Visual Studio and tools | Leave a Comment »
Posted by jpluimers on 2009/09/13
Embarcadero has made available the replays of the CodeRage 4 sessions.
You can find them in the CodeRage 4 sessions overview.
In order to download them from that overview, NOTE: To access this session replay, you must be logged into EDN. you can login or sign-up (which is free).
To make it easier to find all the relevant downloads, below is an overview of my sessions and their links.
Let me know what you use it for, I’m always interested!
Update 20090918: changed the download locations because CodeCentral messed up.
Read the rest of this entry »
Posted in .NET, C#, C# 2.0, CodeRage, CommandLine, Conferences, Database Development, Debugging, Delphi, Development, Encoding, Event, Firebird, InterBase, ISO-8859, ISO8859, Java, Prism, Software Development, UTF-8, UTF8, Visual Studio and tools, XML, XML/XSD, XSD | 4 Comments »
Posted by jpluimers on 2009/09/09
Not only can you download CodeRage 4 session on materials on Practical XML in Delphi, but below you can also find the chat transcripts below.
Note the times are a bit odd: when the chat window refreshes, it sometimes uses the PST time zone, but new posts are using the local time zone.
Hence the sudden jump from 9 AM to almost 6 PM.
| Q: | thomasgrubb asked: “Is there an implementation for XMLDocument (for Delphi Win32) that is file-mapped, e.g., the whole doc is not loaded into memory?” |
| A: | Not that Jeroen is aware of. |
| Q: | thomasgrubb asked: “Is there an implementation for XMLDocument (for Delphi Win32) that is file-mapped, e.g., the whole doc is not loaded into memory?” |
| A: | Not that Jeroen is aware of. Send Jeroen an email and he will blog about other solutions. |
| Q: | thomasgrubb asked: “For Embarcadero Technologies: Are you going to develop a better option for validating XML on the Win32 side in the future?” |
| A: | David I – replied – I will forward this to R&D and Product management |
| Q: | devtux asked: “are you using any XML test generator? Please, suggest one if yes” |
| A: | XMLSpy |
| Q: | richz asked: “I’ve been trying for weeks to find out how to have the Win32 Delphi IDE generate code to serialize/de-serialize my class properties to an XML file. Is there anything in the IDE to do that?” |
| A: | From Delphi 2010 on – you can use DBX support for JSON! |
–jeroen
Posted in .NET, CodeRage, CommandLine, Conferences, Database Development, Debugging, Delphi, Development, Encoding, Event, ISO-8859, ISO8859, Prism, Software Development, Source Code Management, TFS (Team Foundation System), UTF-8, UTF8, Visual Studio and tools, XML, XML/XSD, XSD | Leave a Comment »
Posted by jpluimers on 2009/09/09
My CodeRage 4 session materials are available for download:
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. while I write this ![]()
If you want to watch sessions live, be sure to register through LiveMeeting (the technology they use for making this all happen).
Let me know if you download, and what you are using the sample code for.
–jeroen
Posted in .NET, CodeRage, CommandLine, Conferences, Database Development, Debugging, Delphi, Development, Encoding, Event, Firebird, InterBase, ISO-8859, ISO8859, Prism, Software Development, Source Code Management, SQL Server, TFS (Team Foundation System), Unicode, UTF-8, UTF8, Visual Studio and tools, XML, XML/XSD, XSD | 4 Comments »
Posted by jpluimers on 2009/09/05
I just finished recording my CodeRage 4 sessions:
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 »
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 | 2 Comments »
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 »
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 »
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 »
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 »
Posted by jpluimers on 2009/04/25
WMI (Windows Management Instrumentation) is a way of obtaining information from your PC that otherwise might be hard to find.
WMI is based on Common Information Model (CIM), so you’ll see an example of that too.
There is one drawback: for a lot of the WMI, you need to have enough privileges (like: being an admin, which none of you should be, right?).
So beware!
You can use WMI from C#, but you have to generate the C# classes for the WMI classes first.
I’ll show some examples for WMI Win32 classes, as I needed some of those classes recently myself.
Before I forget:
in order to browse through the WMI Win32 object instances, you can download this nifty WMI Administrative Tools toolset from the Microsoft MSDN site. Note that these are from 2002, and they only reliably work from within Internet Explorer.
Read the rest of this entry »
Posted in .NET, C#, Development, Software Development, Visual Studio and tools | Leave a Comment »