Thoughts from Dan Miser RSS 2.0
 Thursday, December 02, 2004
Thanks to Steve Trefethen, who pointed me to this link:
Delphi 2005 Architect Packs A Wallop

All in all, a very positive review of Delphi 2005. I've been pretty happy with how things have been working here, too. Although, to be fair, I'm not using it as my primary IDE right now. Basically, I've upgraded custom components, compiled smaller utilities, etc. in preparation for the migration of the entire team to go to Delphi 2005. We can't even begin to think about that, though, until DevExpress provides D2005 versions of their libraries.

Thursday, December 02, 2004 1:34:00 PM (Central Standard Time, UTC-06:00)  #    Comments [1] -
Delphi
 Tuesday, November 16, 2004
As I mentioned earlier, I love FinalBuilder. I am always looking for ways to put more into FinalBuilder. One thing that I noticed during deployment of builds to target server machines is that I am still doing some manual steps to unregister the COM servers before copying via FinalBuilder, and then registering the COM servers after the copy is complete. I do this to make sure that if a user decides to try and connect to the app server during the time that I am copying the build up, they don't get through.

I have a BAT file that unregisters and uninstalls services that I use to do this. But this means that I need to do this on the target machine. I did some digging and came across PSExec from SysInternals. This file will let you execute commands on a remote machine. After some tweaking, I came up with the following command that I am now using in FB to take care of remote COM registration tasks.


psexec \\%TARGET_SERVER% -u Administrator -p MyAdminPassword -w c:\Servers cmd /c unreg_servers.bat

This works very well, and it's one more thing that I now have under the control of FinalBuilder. I also use SysInternal's PSService utility to remotely control the services.

Tuesday, November 16, 2004 10:53:00 AM (Central Standard Time, UTC-06:00)  #    Comments [1] -

 Thursday, November 04, 2004
One of the big dilemmas programmers face every day is "Should I write this code as quickly as possible or should I write it to be as robust as possible?". Deadline pressures make some pick the quick option too often. :-( That's why I was pleasantly surprised to find CodeSmith. CodeSmith is a template-based code generator that can output code that can then be used in any ASCII based language (e.g. Delphi).

During development, there are plenty of times when you need to create a collection of objects. For example, you have a TCustomer object and need a TCustomerList object to store a list of those objects. You have a lot of options on how to represent this. Here are some of those options:

  • Place the TCustomer objects in a TList. You need to typecast the code, and you can put any object in the list. Plus, you have to worry about object lifetimes.
  • Use a TObjectList instead of a TList. This allows you to not worry about object lifetimes, but the rest of the problems using a TList still exist.
  • Use a TStrings object (e.g. TStringList), and add your object in to the Objects property
  • Create a custom list class, where you don't have to worry about type safety or object lifetime

Unfortunately, the last option is rarely chosen due to time constraints. It doesn't take all that long to do, but if you have to stop what you're doing to create the custom class, it doesn't get done more times than not.

To solve that, I created a CodeSmith template to generate strongly typed collections. Download my template, install CodeSmith, play with it, and let me know what you think. I can think of some nice improvements, like adding comments (along with an option to include those comments or not). After I get some feedback on this, I plan to upload it to the CodeSmith File Share forum.

Thursday, November 04, 2004 5:08:00 PM (Central Standard Time, UTC-06:00)  #    Comments [4] -
Delphi
 Tuesday, November 02, 2004
On December 21, 2004 from 6:00-8:00 pm, John Kaster will be coming to Milwaukee, WI to show off Delphi 2005. Location is still to be determined, but most likely will be in the Pewaukee/Waukesha/Brookfield area. The event is free, and if you're using Borland tools (or want to know more about life outside the MS camp), you should really find a way to get there.

Please send me an email if you are interested in attending. Response has been fantastic so far. Let's welcome a transplanted Wisconsinite back home in style!

Tuesday, November 02, 2004 9:38:00 AM (Central Standard Time, UTC-06:00)  #    Comments [3] -
Delphi
 Monday, November 01, 2004
While I was thinking about how best to provide a write-up on getting COM Interop working with my pluggable COM architecture, I came across this Delphi 8 paper and this Delphi 2005 paper by Brian Long (of Falafel) in one of his blog entries. It's rather complete from a Delphi perspective, so all that I would need to cover would be how to link a Delphi Win32 COM host with a VS.NET C# client. Somehow, I don't think that's nearly as exciting, since Brian did such an excellent job detailing COM Interop.

Hopefully this will give me a chance to talk about my custom COM audting/profiling solution instead.

Edited on 11/2/04 to update the links based on feedback from Brian Long. Thanks, Brian!

Monday, November 01, 2004 1:12:00 PM (Central Standard Time, UTC-06:00)  #    Comments [0] -
Delphi
 Wednesday, October 27, 2004
This is not YAGDSP (Yet Another Google Desktop Search Post). Well, not completely. ;-)

I like Google Desktop Search. It's lightning fast, and I like the idea and implementation. I think it will really get better once they release an API. For some reason, I never really latched on to IndexServer. I'm not sure why, it just seems too cumbersome or something. I like the concept of IndexServer, but I always end up using grep instead. Maybe it's just that Old Habits Die Hard.

But with GDS, I find myself using it more for some reason. However, as a Delphi or C# developer, you probably aren't deriving much benefit from this version of the GDS beta since pas and cs files are not indexed. Lord CRC (sorry, don't know his actual name) solved that problem by hacking the EXE to change the file extensions that are indexed. He also puts in some information on what you can do to fix this yourself if you're uncomfortable with using his hacked EXE. You can download the hack here.

Wednesday, October 27, 2004 11:07:00 AM (Central Standard Time, UTC-06:00)  #    Comments [1] -
Delphi
 Tuesday, October 26, 2004
Great. I've read about spamming in blog comments from some of the blogging luminaries. I've had a couple of spams so far, and I could deal with that. But, this morning I had 12 spams that I had to go delete. I guess I could spin this into some kind of positive that it means that someone actually thinks my blog is worth spamming, but I'm not going to go that far. :-)

So, if anyone has any links on how to effectively deal with blog comment spam (especially with .Text), I'm all ears. I don't want to turn off comments because I enjoy reading the responses. Thanks for any help.

Tuesday, October 26, 2004 8:42:00 AM (Central Standard Time, UTC-06:00)  #    Comments [3] -

 Monday, October 25, 2004
I love it when things just work the way they should. I've been developing a new product that relies heavily on a pluggable architecture using COM. During development, I started thinking that it would be nice to test out how well a C# component would work inside the architecture. As you can tell from the first line of this entry, it worked rather well. I plan on detailing a write-up of the details, but the short story is: it just works.

It's always refreshing to find technology that makes your life easier, instead of making the waters muddy and more difficult.

Monday, October 25, 2004 8:23:00 AM (Central Standard Time, UTC-06:00)  #    Comments [0] -
.NET
Navigation
Archive
<December 2004>
SunMonTueWedThuFriSat
2829301234
567891011
12131415161718
19202122232425
2627282930311
2345678
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2008
Dan Miser
Sign In
Statistics
Total Posts: 310
This Year: 25
This Month: 1
This Week: 0
Comments: 605
All Content © 2008, Dan Miser
DasBlog theme 'Business' created by Christoph De Baene (delarou)