On this page...
|| Monday, November 8, 2004
I have been busy refactoring the Registry Editor, converting it from hack to architecture. As I plan to release the source code for it, I want it to be well-structured and easily extensible (I don't think I'll do editors for all registry data types). Can't wait for VS.NET 2005 where refactoring will be built in, though you can easily get ReSharper today. Online resources aside, the Refactoring dead-tree edition from Fowler should sit on every developer's bookshelf.
To close this post, one more screenshot of the Registry Editor in action - the menu:
Got bitten once again with gratitious help of VS.NET 2003: how does tab order work on the Compact Framework? Based on the order in which controls are added to the Controls collection in InitializeComponent - and guess what, VS.NET does this in reverse order, or the Forms Designer, to be more precise. Details in the section "Tab Order and Focus" in here.
|| Saturday, November 6, 2004
What is the behavior of a tree view control? Well, it lets you expand the tree - but what should it do when you reach a leaf node? Right,
switch to List View mode where you can view and edit the values.
Download video (199.9 KB)
This turned out to be unnecessarily complicated - because I painted myself into a corner, sort of with the help of Visual Studio .NET 2003. When I added an image list, upon load I'd run into an exception of MissingManifestResourceException.
I thought wtf? I didn't do anything. Well, mostly nothing. I found the KB article BUG: "System.Resources.MissingManifestResourceException" error message after you change the name of a localized form class in Visual C++ .NET 2003 which was sort of helpful: I found the cause, but the remedy didn't work for SmartPhone applications... here's the lowdown: my main form had the class name RegistryEditorForm, the file name though was RegistryForm.cs (.resx is of course the same, automagically). So now the resource is compiled using the file name, and the class name is different - exception. Change the class name to be identical to the .resx file name - success.
But at least the list view looks now a lot nicer than before (note that in debug mode I display the data types instead of the value names):
|| Friday, November 5, 2004
One more step completed - a bare-bones string value editor (yes, for both editing existing and adding new string values):
Now, the bad news is that the OpenNETCF.org Smart Device Framework won't cut the mustard for the editing part - I will have to resort to P/Invoke for getting at the value data types correctly. I knew that P/Invoke would rear its ugly head rather sooner than later. Anyways, nice learning project.
(1) Registry Editor for SmartPhone
(2) Registry Editor for SmartPhone, List View
In addition to the tree view as reported earlier, I now also got the list view up running:
Note that pretty icons ("UI candy") are missing (eg folder or value data type), but getting functionality done is more interesting at the moment. When switching from tree view to list view, I already switch to the very same registry path, missing is path preservation on the switch back from list view to tree view.
I promised that I would write some SmartPhone applications now that I have an SPV C500 Developer Edition, and today I got around to installing the SDKs - and immediately got started with my very first Compact Framework application, a full-blown registry editor (now how nerdy is that for your first application?). The tree view is already done as shown in the emulator screenshot below:
List View and then editing support is next. Not too bad a result for playing for less than an hour, now is it?
|| Thursday, November 4, 2004
The schedule for SQL Server 2005 Web casts is quite packed in December:
- Webcast 12/6: Overview of the new Developer features in SQL Server 2005—Level 200
- Webcast 12/6: Introducing the New SQL Server Management Studio—Level 100
- Webcast 12/6: SQL Server 2005 as a .NET Runtime Host—Level 100
- Webcast 12/7: T-SQL Enhancements in SQL Server 2005—Level 200
- Webcast 12/7: Introducing XML in SQL Server 2005—Level 200
- Webcast 12/7: Introducing ADO.NET 2.0 for SQL Server 2005—Level 200
- Webcast 12/8:The New Security Model in SQL Server 2005—Level 200
- Webcast 12/8: Introducing Web Services in SQL Server 2005—Level 200
- Webcast 12/8: Introducing Service Broker in SQL Server 2005—Level 200
- Webcast 12/9: Introducing Reporting Services for SQL Server 2005—Level 200
- Webcast 12/9: Introducing SQL Server Integration Services for SQL Server 2005—Level 200
- Webcast 12/9: Introducing SQL Server 2005 Analysis Services for Developers—Level 200
- Webcast 12/10: Introducing Full-Text Search in SQL Server 2005—Level 200
- Webcast 12/10: Introducing Replication in SQL Server 2005—Level 200
- Webcast 12/10: Introducing Notification Services in SQL Server 2005—Level 200
|| Wednesday, November 3, 2004
I'm about to get started with Windows Mobile development - I dl'ed the SDK for Windows Mobile 2003-based Pocket PCs, SDK for Windows Mobile 2003-based Smartphones and Mobile Application Development Toolkit (I talked about the latter one before). The only thing I "hate" about Windows Mobile development is that I have to do it on the host instead of inside a VPC image (where everything else runs) - there's no USB support with VPC. Dam as the little beavers tend to say.
I think I can safely assume that everyone knows about SourceForge.net, where first-class .NET projects such as NUnit, NAnt, NProf as well as many others are hosted. Much less known is GForge, which is a fork that you can host yourself based on the GPL version of SourceForge before it was made closed-source by VA Linux in 2001.
Since that time GForge was improved, and it has reached version 4 just recently. To give you a really high-level idea of what it is, a short quote from the project page itself: GForge has tools to help your team collaborate, like message forums and mailing lists; tools to create and control access to Source Code Management repositories like CVS and Subversion. GForge automatically creates a repository and controls access to it depending on the role settings of the project.
- Manage File Releases
- Document Management
- News announcements
- Surveys for users and admins
- Issue tracking with "unlimited" numbers of categories, text fields, etc
- Task management
Tool-wise, this package can come in handy when you want to get started on a development process in your company, covering the entire lifecycle. For free.
© Copyright 2023 Christoph Wille
newtelligence dasBlog 2.3.9074.18820