May 2008 Entries
I'm reading/learning/studying LINQ using the book "
Pro LINQ: Language Integrated Query in C# 2008" by
Joe Rattz. First, I must say it's an outstanding book - the writing is clear, littered with code, easy to read and sometimes even funny. On page 226, Joe makes the statement:
LINQ to XML actually makes traversing an XML tree fun.
OMG, I am such a geek, because I was thinking almost exactly that as I read the code sample in question.
2008-05-08 Update:
Before I posted what I found, I had searched the web and found a usenet posting by Peter Zimmermann of
www.ambit.ch asking the same question I was trying to answer. I sent him a note about what I'd found. He said they had dug through it and found the root of the problem is having contact with a blank last name. Indeed, I found that on the page in question there were contacts that had been imported with no last name. Thanks to Peter for the update and the further investigation.
-- end update --
After upgrading a customer from MS CRM 3.0 to version 4.0, I discovered an error that kept popping up in the "do you want to report this to Microsoft box". The actual XML to be sent to MS included:
<ScriptErrorDetails>
<Message>Object required</Message>
<Line>196</Line>
<URL>/_static/_grid/presence.htc</URL>
<PageURL>/OrgName/_root/homepage.aspx?etc=2</PageURL>
<Function>prepareEnablePresence()</Function>
<CallStack>
<Function>prepareEnablePresence()</Function>
</CallStack>
</ScriptErrorDetails>
I isolated that the problem (at least in my case) only occurs when I have Windows Live messenger loaded.
After stepping through the code, I discovered that the error is indeed on lines 196 and 197 in presence.htc, which read:
var oImgSpan = oControl.firstChild;
if (oImgSpan.tagName == "IMG")
The probelm is that oImgSpan.firstChild is null. The workaround is to have line 197 check for the existence of the null, like this:
if ( (oImgSpan != null) && (oImgSpan.tagName == "IMG") )
My disclaimer on this is that while this will stop the error from happening, it isn't necessarily solving the root problem. I haven't had time to look at exactly what the code is doing. Since it is in presence.htc and it only happens when Windows Live Messenger is running, I believe "presence.htc" is basically a behavior that is supposed to display an icon that indicates whether someone is online or not. Where and how, I'm not sure. Since the line in question is followed by logic to assign the src property of the image <SPAN>, it may or may not show things correctly. If I have time, I'll investigate further. Right now, since my customer doesn't allow their users to use Messenger, they won't see the error. I've advised them of the potential issue - they said leave it as is. My work here is done.
As a side note to my post about my
machine freezing while reinstalling Windows Vista Home Premium on my new Dell Inspiron 1720, I used the Dell Outlet to purchase the laptop as a refurbished machine.
I got a great price ($655 after shipping & tax) for a laptop with a 1.5 GHz Intel dual core processor, 2GB RAM, a 160GB hard drive, a webcam, a 17" screen plus a few other things I probably forgot about and I must say I'm pleased (so far). Not only did I get a good deal, but I also get the full warranty. Hard to beat unless you really want to build your custom laptop from all the available options. If you're OK choosing from the selection they offer and act quickly you can get a good deal!
I recently ordered a Dell Inspiron 1720. After I got it, the first thing I did was to reinstall the OS (Window Vista Home Premium) to
really clear out the crap that Dell installs with it. Uninstalling the software wasn't clean enough for me. When I did, I ran into a problem with the reinstall where it would get to the fifth step, "
Completing Installation", freeze and just sit there looking at me. The progress bar stopped and nothing happened.
After trying it a second time and having that fail, I started considering options. Then I remembered having seen on the screen where you select the drive to install, choose to format the drive, etc., an option that said "Load Drivers". Select this option and when prompted, pop in your Dell "Drivers and Utilities" disk. It will scan the disk and look for various drivers for your system. On mine, it found a new driver for the hard drive and that was all. I selected that driver and went on my way.
The install ran just fine after that and I got the OS reinstalled. I reinstalled the few Dell apps I actually wanted and all was well.
Hope this helps someone else.