|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Jan 09, 2008 11:31 pm
Living with Vista and Delphi 2007 |
As I mentioned in the New Year's Letter for 2008, my main job for January is to get Delphi and all of the 3rd party tools and components updated and working in Vista. Last year, I installed Vista for the first time (dual-booted with XP) in April. I played with it on and off (mostly off) during the year and used it to test new versions of CMUD.
Everytime that I tried to use Vista, I quickly found myself going back to XP for various tasks. But in 2008 I'm going to try and "live" in Vista full time.
In this blog, I'm going to track my progress. This blog entry will probably be full of various rants and ravings and complaints. But heh, that's how I relieve some stress
Starting out this morning didn't go very well. A month or two ago I got a new Logitech G15 gaming keyboard. Mainly I use it for all of the extra buttons on the left side for various macros and stuff (it's *great* for MUDding!). But this morning when I tried to reboot into Vista I discovered that it isn't recognized by my BIOS and so I can't select a different version of Windows from the boot menu.
Now, I *thought* that I had tested this when I first got the keyboard and I distinctly remember being able to press DEL to get into the BIOS on this keyboard. But somehow it isn't working anymore.
I looked in my BIOS settings (American Megatrends v3.00) but couldn't find any setting for "Enable USB Keyboard support". The other USB BIOS options are all enabled. I checked the MSI motherboard site using their Live Update to see if there was a newer version of the BIOS, but there wasn't. Maybe it's because I only have USB 1.1 ports on this motherboard? I've ordered a USB 2.0 card for faster syncs of my iPod (I finally joined the rest of the world and got an iPod for Christmas this year!) and I'll see if that causes the keyboard to work when I get it.
Anyway, that wasted an hour or so until I got an old PS2 keyboard out of the closet so that I could boot Vista (and then I change the boot options so that Vista would be the new default).
One problem that I always had with Vista was with some performance issues. I've talked about the new Vista Window Manager (DWM.EXE) over in the CMUD forum and described how much it slows down CMUD scrolling. And while I might be able to disable DWM to improve this, I really want to try and keep my Vista setup as standard as possible.
So, I'm going to stick with DWM slowdowns. But another irritating slowdown was happening in the File Explorer. Every now and then when I would click on a folder to expand it, I'd start to get a green progress bar in the explorer address bar and it would take *forever* to open the directory.
After some Google searching today, I finally learned what is causing that annoying green progress bar. It is something called Thumbnail Preview Apparently, no matter what View you are using, Vista will still try to load each file to create a silly preview image. Sorry, but I don't need preview images at this kind of performance cost. So, by going into the Folder Options I was able to turn off the thumbnail stuff and that fixes the green progress bar issue.
I had installed Delphi 2007 into Vista several months ago. Last night I ran the update for the Delphi 2007 December patch. According to the release notes, doing this update on Vista could take 3 hours! And yes, that's exactly what happened. I cannot comprehend *anything* that would take over three hours on a modern computer. But it was stuck in the Windows Vista installer "Validating update" stage for that long. CodeGear says something about how Vista deals with registry updates. But like I said, I can't imagine what it was really doing. It wasn't using a lot of CPU or memory, so it must have been some sort of other resource bottleneck, like disk I/O or something on the network. Who knows.
Anyway, that update finally completed last night. Now I've been playing in Delphi 2007 trying to get some tools set up. One of the most important 3rd party tools that I used in Delphi 7 was CodeRush. CodeRush doesn't exist for Delphi 2007. CodeRush added a lot of enhancements to the Delphi editor, including various macro templates.
For example, using CodeRush I could type "bg" followed by a Space key and it would expand to a
where _ is the resulting cursor location.
Delphi 2007 adds their own "Live Templates" system that sort-of does this. In past versions of Delphi you had to use Ctrl-J to expand a template (yeah, like that was easy...not!). Delphi 2007 lets you use Space for templates. However, the way it handles indentation is very buggy. They assume that you only want to expand a template on it's own line. If you try to expand "bg" at the end of an existing line of text, the resulting "end" gets indented to the position of where the "begin" is on the original line. Not good. So you end up with crap like this:
Code: |
if (whatever) then begin
_
end; |
Not cool. So, I can't use the built-in Live Template stuff.
Fortunately, there is a 3rd party product called Castilia that has a small subset of the CodeRush features. In particular, it has a template system that works. So I can add my "bg" template to Castilia and all is good.
The other important 3rd-party tool that I use is called Model Maker Code Explorer. Fortunately, this product is still very active and has excellent customer support. And most importantly, they have a Delphi 2007 version which I upgraded to and works nicely. I love high-quality software like this that actually works and gets updated regularly. And they do a great job responding to customer feedback and suggestions too.
The last set of tools that I use is an open-source collection called GExperts. This is a collection of all sorts of little utilities. I started to see if I could live without it, but I came across one that I use all the time which allows you to easily convert a visual component on a form from one type to another. For example, you can easily right-click on a TLabel component and change it to a TcxLabel component. I use this a lot when porting over old forms and when updating forms to use newer components. So I went ahead and installed the Dephi 2007 version of GExperts, and it works fine.
I installed Subversion last year when I first ran Vista, so I just needed to update the TortoiseSVN addin for Vista to integrate SVN with the Vista file explorer. That seems to work fine too. Good, we are on a roll now!
Hmm, when I clicked on my CMUD directory, I got another one of those green progress bars again. Maybe the thumbnail setting didn't fix it? Or maybe I need to reboot. Well, I'll try that later.
The only other Delphi tool that I might need to worry about is something called AQTime. This is from AutomattedQA and is a profiler for Delphi. It also checks for memory leaks, but I use FastMM for that (which is actually integrated into Delphi 2007 now). But AQTime has been very useful for finding performance issues in the past, so I'll need to see if my existing version (which is older AQTime 3) still works in Vista and with Delphi 2007. But that sounds like a job for tomorrow.
Finally, almost forgot to check our backup system. Looks like the backups ran properly from my Vista computer last night, but Chiara's computer didn't run it's backup. Her backup is supposed to write the output file to one of my disks via the network, so somehow, even though my Vista computer name is the same as my XP system, her remote mount of my disk didn't work. Maybe the network drive just needs to be recreated on her system.
Right now I need to stop for the day and deal with the heating-guy that had to come to the house today to fix the heater blower that died last night. And yeah, it was 15F degrees last night, so we had to use the fireplaces to keep the house warm. Yikes, that was a $600 bill that I didn't need! Oh well, that's life. Anyway, that's it for today. More later on how this transition goes. |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Thu Jan 10, 2008 12:10 am Re: Living with Vista and Delphi 2007 |
Zugg wrote: |
I finally joined the rest of the world and got an iPod for Christmas this year! |
I'm very disappointed in you :C
Creative is the way forward, it really is. I bricked mine and got a replacement completely free, including porting over all my music (and TV shows) to the new one. I was most chuffed. Much better than spending however much ridiculous amount it is to get the battery replaced when your iPod inevitably blows up :|
Zugg wrote: |
According to the release notes, doing this update on Vista could take 3 hours! |
You what. That is insane. Installing WoW, installing TBC, downloading and installing the latest patch doesn't take three hours, including the download, and that ends up with a 9gb folder and god nows how much registry stuff done. Like you say, I can't imagine anything taking three hours unless you have 32mb of RAM. Sounds to me like CodeGear needs to get their act together.
It sounds like waiting a while before upgrading to 2007 was a good plan - it's nice to hear that you didn't have any trouble updating your components.
Zugg wrote: |
when I clicked on my CMUD directory, I got another one of those green progress bars again. |
In XP, folder settings only apply to the current folder unless you press a separate Apply to All Folders button. Perhaps it's the same on Vista? |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu Jan 10, 2008 7:10 pm |
About the iPod: I actually have all of my music in MP3 format and I don't buy stuff on iTunes, so I could have gotten any MP3 player that I wanted. My workout music fits in about 6GB. So I wanted something very small, with no hard disk, that could hold 6GB. And I just couldn't pass up the form-factor of the new Nano with the color video screen. It holds 8GB, which is enough for all my work-out music, plus a couple of video podcasts for the news. And I just love how tiny it is. None of the Creative players could come close to this form-factor, so I went with the iPod. And honestly, I have no love for Creative either. I stopped buying sound cards from them a long time ago when their stuff started getting worse and worse.
The battery issue is definitely a problem, but I believe that any MP3 player of the size that I wanted would have this same problem. It's not like there is any room for AAA batteries in something this small. And $40-$50 for replacing the battery in a couple of years still isn't that bad...it's still less than buying a new player. Anyway, if I was looking for a high-capacity hard-disk MP3 player, I probably would have gone with the Creative player. But I was looking for something much smaller. And so far I'm very happy with it.
Quote: |
Sounds to me like CodeGear needs to get their act together. |
Maybe. Everyone is still trying to learn what caused this problem. It only happened in Vista. So it might not be CodeGear. It might be the installer that they are using (InstallMaster), or it might be another Vista issue. I am trying to find out what caused this slowdown so that I can avoid it in my own applications. Their update wasn't that big, and I have 2 GB of RAM. Like I said, the CPU wasn't being used, so all I can think of is that it was some thrashing in the Vista system registry routines somehow.
Quote: |
it's nice to hear that you didn't have any trouble updating your components |
Well, I haven't gotten to the "components" yet. I've just upgraded the compiler tools. The actual 3rd party components, like Developer Express, will take a lot longer. That's why I'm guessing this upgrade will take most of the month. I need to figure out what components I really need and which I'm really willing to pay for (all of these upgrades are costing me money too). Then install the upgrades and do a "diff" with the old components to figure out what changed and reapply any of my own bug fixes that they still haven't applied yet. Then get everything compiled and working together. It's going to be a lot of work.
Quote: |
In XP, folder settings only apply to the current folder unless you press a separate Apply to All Folders button |
I thought the Thumbnails option was a global option like the "Show hidden files" option, but I did what you suggested and used the "Apply to Folders" button to make sure it was applied everywhere. So far so good. I haven't gotten the green progress bar yet, so it's definitely better than before. |
|
|
|
Rorso Wizard
Joined: 14 Oct 2000 Posts: 1368
|
Posted: Thu Jan 10, 2008 7:47 pm Re: Living with Vista and Delphi 2007 |
Zugg wrote: |
Starting out this morning didn't go very well. A month or two ago I got a new Logitech G15 gaming keyboard. Mainly I use it for all of the extra buttons on the left side for various macros and stuff (it's *great* for MUDding!). But this morning when I tried to reboot into Vista I discovered that it isn't recognized by my BIOS and so I can't select a different version of Windows from the boot menu.
|
That's odd. I got a G15 keyboard as well some week ago and it works perfectly with the Bios. Do you have the new version of G15 or the old one? The new one has orange background light while the old one had blue light.
Oh... and you do know there is a development kit on the driver CD so you can develop your own LCD applications? It could be a nice addition to cMUD. It could show stuff in the LCD, like gauges perhaps and chat messages when you have the client minimized. Programming the 4 keys beneath the display and connect them to aliases the dary player could perhaps devise a way to play MUD on the LCD while playing fullscreen MMRPG on the rest of the keyboard. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu Jan 10, 2008 9:08 pm |
I have the old one with the blue light (the new one has less extra function keys on the left and I wanted as many keys as possible). And yes, I have looked into the devkit. There was even some Delphi code for the LCD that I was trying to track down. So LCD support might appear in the future if I have the time.
I think it's a problem with my BIOS. The BIOS needs USB Keyboard support and this particular computer doesn't show that as any option in the BIOS settings. All of my other computers have it, so I think this was just a cheap motherboard (from a couple of years ago when my computer died and I needed to replace it quick and cheaply...now I'm paying for it). |
|
|
|
Rainchild Wizard
Joined: 10 Oct 2000 Posts: 1551 Location: Australia
|
Posted: Fri Jan 11, 2008 12:16 am |
I'm waiting for Vista SP1 before trying to run with it again, it's due out fairly soon - technet has a beta of it, and I'm hoping that it works a bit smoother.
I think the biggest slow-down I had on Vista was from the virus protection software, you may find you 3 hours would have been 20 mins if you temporarily disabled the virus protection (though, that is potentially risky). My theory (I don't know if I'm even remotely close to being right, but it sounds reasonable) is that because of Vista's pretty thumbnailey stupidity is that the file gets touched a couple of times by the OS, prompting a virus scan at each touch, as it is extracted/copied/etc, therefore scanning the file several times for a simple install operation. What lead me to this conclusion was that I was copying about 70 meg of files to a USB drive, and it said 15 mins, so I disabled the virus checker and the copy finished in about 30 seconds instead.
Also disappointed in your choice of supporting Apple... nobody needs to give them encouragement... BURN BURN DESTROY ALL THAT IS APPLE!!! (yes, I am biased against apple, mostly because my Dad is an avid apple supporter and likes throwing dumptrucks of money their way instead of getting with the program and buying a real computer)... he could have got an Alienware laptop and desktop for the price he sunk into his apple G5 /sigh. That and I think iTunes is the most bloated piece of crap software ever made (ever), and managed to delete my friend's entire MP3 collection (from hard drive and ipod).
Seems odd that you can't find the USB keyboard support in bios - even my 5 year old motherboard had that in it, maybe they've tucked it away in a silly submenu somewhere. I know it's not always in the most logical of places. Some computers have it on the first page, others in the integrated peripherals, etc. Alternatively maybe flashing a new bios version might make it appear (or brick your motherboard, given your historical luck [8D]).
Anyway, looking forward to see how you go with Vista, I'm itching to get back in the seat and try it with the new Visual Studio 2008, but I'm restraining myself until that service pack comes out.
PS on Chiara's backup, probably the network share is disabled by all of Vista's security paranoia, you'll need to check the firewall settings, filesharing settings and possibly even change permissions to allow "everyone" write access to that folder (XP simple sharing does that automatically, but Vista's sharing is more like the Server 2003 sharing where you have individual permissions on files/folders/etc). |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Fri Jan 11, 2008 12:43 am |
Alienware is no better than Apple. It's slightly less overpriced, but it's still overpriced. The only excuse for having an apple desktop really is if you work in graphic design - I have a few friends who do, and they all say they're better for work. Most of them actually have two separate computers, one running windows and one a mac ;P
Discounting their desktop products which, it seems, have a legitimate use, it seems to me that apple take technology that's already around, slap a shiny UI on it and market it as COOL, MAN. Apple really do deserve massive congratulations for their PR work - some of their adverts have been masterful. The iPhone adverts do a great job of showing off the functionality without degrading into geekspeak. Which is fine since most of their users won't understand that the features on the iPhone are either old (2G, gah) or available on many, many other phones (the internet) or pretty useless (the wireless internet it uses, since how often are you around a free, unprotected wireless network?) thanks to the appalling advertising jobs the other companies do.
I don't have any specific hatred of Apple products, I just prefer to buy whatever does the job for the best value, and apple products are rarely that. I suppose it's possible that in the 18 months or so since I bought my player, apple players have become better value. And even if they don't, it sounds like Zugg's fits his needs. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Jan 11, 2008 6:06 pm |
The problem with Chiara's backup was that when I set up our shared network disk in Vista, I forgot to set the permission to allow write-access. So now it's working just fine.
I just got finished getting caught up with all of the email from over the holidays. Always makes me wonder if a vacation is really worth it given all of the extra work that is needed *after* the vacation. Today I'm going to download the latest version of the Developer Express components and get them installed into Delphi 2007 and start with our local customer database app to see how easy it is to convert from Delphi 7 to Delphi 2007. It doesn't use anything other than the DevExpress and ZeosLib components, so it should be relatively easy (crossing fingers). Stay tuned.
P.S. I've bought 2 gaming computers from Alienware over the past 8 years or so and have liked both of them. They are great for people who want tweaked performance and who do not have the time/knowledge to tweak themselves. Last year I built my newest gaming rig from scratch for less than half the price of an Alienware (only spent about $1200 for a top-of-the-line system). But it took me two weeks during Christmas last year (2006 actually) to build it and get it working and then tweak it. Not for the faint-hearted. I do agree that I'd never pay the premium for an Apple computer/laptop, mainly because none of the software I'd want would work with it. Even when Chiara got a new laptop in 2006 we went with a Dell for less than half the price of an Apple (she only needed it for email, web surfing and Office, so both Dell and Apple were contenders). And even though the Dell came with Vista, it still worked great out-of-the-box and we've never had any trouble with it. But I also have several Mac-fanatic friends who'd never buy a PC. Just goes to show that everyone is different and there is a market for most anything. Anyway, that's really not what this thread is supposed to be about ;) |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Fri Jan 11, 2008 7:19 pm |
Zugg wrote: |
Always makes me wonder if a vacation is really worth it given all of the extra work that is needed *after* the vacation. |
I hope you're not being serious! Your vacation was much longer than the catch-up time, and I'm sure someone who works as much as you do would go crazy without some time off. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Jan 11, 2008 8:24 pm |
Heh. No, I wasn't serious. Our vacation time-off was *very* nice. And yes, I'd quickly go crazy without it. I was just whining because a solid week of answering emails isn't the favorite part of my job. But I think a vacation has to be at *least* a week to make it worth the time. Given the time spent preparing to go away, then the time during the vacation it takes to really relax and stop thinking about work (that takes me about 4 days usually), then the time spent getting caught up when you get back. So shorter than a week isn't worth the trouble. Three weeks was very nice, and I definitely shouldn't complain since I know many people who didn't get any break at all.
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Mon Jan 14, 2008 11:53 pm |
I continued making progress upgrading my Delphi components today. The Developer Express stuff went very smoothly. I haven't applied any of my "fixes" to it yet because I want to wait and see what their default source code looks like these days. I'd like to avoid making direct changes to their source code to make updates easier in the future, so I'll probably have to try and inherit components from theirs that make custom changes. Eliminating the Theme Engine support removes most of the changes to the DevExpress components. But I'll have to wait until I actually try to load and compile CMUD to see what other changes are required.
I *was* able to load our local customer database application and get it compiled and working in Delphi 2007 (It uses the DevExpress components too). So this was a good general test of the new Delphi installation. Looks like Delphi 2007 does a *much* better job with Vista compatibility. As you might remember, Delphi applications try to install any COM server registry entries when you first run them. That's the main reason old Delphi apps need the "Run As Admin" flag. For our local customer database app, I also had to use the "Run as Admin" flag. But after I compiled it within Delphi 2007, it works fine as a normal Vista app now. Delphi is handling the UAC properly. It is also supposedly compatible with the Vista DEP stuff that was also a problem for some people with CMUD.
So, the first look at Vista compatibility is looking very good (at least for this database app). And it also continues to run fine on WinXP systems, so no backwards compatibility issues.
After that successful test, I started going through more 3rd party components. A couple of components have new versions that I want to get, but I have to wait for them to respond to my email before I can get the updated download links. I get really annoyed by sites that don't have some sort of customer login system so that customers can download the latest versions themselves. I shouldn't have to email them just to get an updated download link. If they don't respond within a day or so, then I'll just try to install the older version that I already have installed in Delphi 7.
Several of the components that I use are free components that haven't been updated for Delphi 2007. First was PNGComponents, which provides a Delphi ImageList compatible components for handling PNG images. The really nice thing about this is that since it's compatible with the normal Delphi TImageList component, I can easily add PNG support over time by just replacing the normal image list with a list of PNG images. I already use this in several places in CMUD (like the images in the Preferences dialog). This component hadn't been updated since Delphi 7, but I was able to get the Delphi 7 source code to work with Delphi 2007. The most annoying thing about this component was that it has an installer instead of just a ZIP file of source code. The installer tries to compile the components into Delphi. Fortunately, since I have Delphi 7 installed in Vista too, I was able to tell it to install for Delphi 7 and then just move the source code over to Delphi 2007. Then, I added the conditional compilation for the Delphi 2007 version (it sets the VER180 flag instead of the VER150 flag set in Delphi 7). Then it finally worked.
The other free component that didn't have a Delphi 2007 version is the DSPack components. This is used to use DirectShow to play any sound file by the CMUD #PLAY command (like MP3). I was having a really hard time getting the existing Delphi 7 source code to work in Delphi 2007. It was causing Delphi 2007 to actually crash when installing the component. After some Google searching, I learned that the CVS for DSPack on SourceForge had been updated for Delphi 2006 even though the *.ZIP download had not been updated. Delphi 2007 is binary compatible with packages from Delphi 2006, so once I accessed the CVS directory I was able to get the updated files that I needed. Then I got it working in Delphi 2007.
The other components that I updated today without trouble included: Raize Components, ZeosLib (database), kbmMemTable, SSHBlackBox, AutomatedQA Docking components, DelphiSci (Scintilla), TurboPower LockBox, TurboPower XMLPartner, TurboPower SysTools, zLib, and DragDrop.
Still left are: AddictSpell and TRichView. These are the ones that I'm waiting on email from to get updated source code.
As you can see, I use a lot of 3rd party code, which is why this is such a big job. Once these 3rd party components are updated, then I need to go through my own custom component libraries. For example, the main scrollable MUD window is my own custom component. I need to go through my components and get rid of the old stuff that I'm not using anymore and clean it all up. That will probably take most of the week.
I ran into two Vista annoyances today. The first involved opening a File/Open or File/Save dialog in an older WinXP application running on Vista. Clicking on a directory to open it was taking forever! I don't know if this is related to the Thumbnail slowdown or not. But it's a real pain. One of the programs with this problem was WinZip. When I told it to extract a file and then clicked the + next to a directory in it's tree view, it would take 100% CPU and just get stuck forever. I finally had to use Zip Genius instead and it worked. However, I can't seem to get rid of the WinZip file extension. When I run Zip Genius and tell it to associate itself with the *.ZIP extension, clicking on a ZIP file still opens WinZip instead! Maybe I'll try uninstalling WinZip or something.
Edited: Turned out that WinZip was set in the registry as a "User override" for the ZIP extension. I must have done that back when I first installed Vista. I had to manually delete this registry key and then Zip Genius started loading properly.
The other Vista annoyance is partly a Delphi 2007 annoyance. I tried installing the AQTime3 program, which is the old code profiler from AutomatedQA. I never upgraded it because their upgrade prices have always been waaay too high (like 80% of the new purchase price!). I was able to get AQTime3 to run by going into it's properties and turning on the "Always run as Admin" option. But when I tried to add it to the Tools menu within the Delphi IDE, I get an error message when it tries to run. Apparently the Tools menu in Delphi 2007 cannot handle a tool that needs to use the Vista UAC prompt for elevating a process to Run as Admin. This is a real pain. For now I'll have to run AQTime3 directly from the Vista File Explorer and then use File/Open to open my Delphi project, rather than running it directly from the Delphi IDE.
That's a summary of the last few days of work (well, Friday and today anyway). Still making forward progress and I haven't needed to go back into WinXP yet. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Jan 15, 2008 11:32 pm |
Continued to make pretty good progress today. I got the AddictSpell and TRichView components updated after getting my download links from the authors. So next I started on one of my own basic component packages. It contains the base "Form" component used for all CMUD forms, and my base Button and Panel components that inherit from the Raize Components and add some other features. Ray has improved his TRzPanel in the newer Raize Components so that I didn't need to do most of what I was doing in my panel (mainly to support the Office11 blue theme and the DevExpress LookAndFeel components).
However, for some reason I had a heck of a time just trying to install a simple component package of my own. I had to actually start from scratch with a new component package and then slowly add the components back into it. And it was pretty flaky. Delphi would suddenly get into a state where it wouldn't install the package and I'd have to restart. Or I'd get a crash in Delphi. Past versions of Delphi have always had problems with recompiling and installing component packages on-the-fly like this. It's working better than it used to in Delphi 7 (which you'd have to restart all the time), but still not perfect.
Somehow I finally got it working and was able to get my form and panel components added. Tomorrow I'll continue to add my own custom components to this new package. Hopefully I'll be able to finish with all of my custom components in a day or so. After that I'll start tackling my huge list of changes that I've made to the DevExpress components in the past to see if I can find a better way to inherit and add changes so that I can keep the DevExpress source code intact for easy updates in the future.
As I'm going through my components, I'm getting rid of all of the Theme Engine stuff. In CMUD 2.18 I had disabled the Theme Engine, but it was still being linked into the code. It's really going to be a lot nicer not having to deal with that at all now. |
|
|
|
Rainchild Wizard
Joined: 10 Oct 2000 Posts: 1551 Location: Australia
|
Posted: Wed Jan 16, 2008 12:14 am |
Have you tried forcing Delphi to "Always run as Admin" as well to see if it the parent app is in admin mode then child app will launch from the tools menu? I know you shouldn't have to, but it might be a work-around.
As an aside, did you see that MS have released a "Windows Home Server" which is kinda like a cross between vista and 2003 server - it backs up all your PC's on the network, allows for shared documents between all PC's, remote access to those files (if you wanna get them from work for instance), and has this neat double-backup feature where those documents are stored on two physically separate drives, but not actually using raid technology so you can just chuck in a new disk at any time to expand your overall storage. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Jan 18, 2008 5:46 pm |
I've gotten sidetracked from the Delphi 2007 conversion for a few days. I had to work on writing our Zuggsoft Business Plan for 2008 and to do some year-end and year-beginning tax stuff. I hope to have this stuff finished today and should be back to the Delphi conversion on Monday.
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Jan 22, 2008 9:37 pm |
OK, I'm pissed off about Vista again today. Now the other computers in our LAN workgroup are not showing up in the Vista "Network Neighborhood" screen. I could have sworn that this was working a few days ago, so I don't know if it's related to the autotuning=disable command that I had to use to get the Comcast network to work. I have searched Google and found that lots of other people seem to have this trouble, but haven't found any simple solutions. Once again, Microsoft has made this so damn complicated that I can't imagine how a typical home user gets their network to work.
In my case, I can ping the XP computers from Vista, and I can do a "net view \ComputerName" in the command prompt with no problem. I can enter "\ComputerName\DriveName" in the Vista Search/Run box and then it will open the remote drive in the File Explorer with no problem (no authentication prompt needed or anything). And then the ComputerName is shown in the Network tree on the left of the File Explorer, but the computer still doesn't get an icon in the right panel when I just click on "Network".
So, I can access the remote computer just fine. And the remote computer can see the Vista computer it it's network neighborhood just fine. So I don't know what the hell is going on here, but it's really frustrating. It's obviously something with the network discovery, but network discovery is properly enabled (along with sharing) in my Vista network setup, so that doesn't seem to be it. I guess I'll just wait and see what happens when I reboot all of the computers in the house at some point. But for now I just used the Search box and entered the \Computer\Drive to open the remote disk so that I could get the files that I wanted. I'm just not in the mood to keep screwing around with these Vista issues today. |
|
|
|
ralgith Sorcerer
Joined: 13 Jan 2006 Posts: 715
|
Posted: Tue Jan 22, 2008 9:54 pm |
Double check the network settings for that connection (Network and Sharing Center) and make sure Network Discovery is turned on. Otherwise Vista is dumb and wont show the networked computers and devices.
|
|
_________________ CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate |
|
|
|
Fang Xianfu GURU
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
|
Posted: Tue Jan 22, 2008 10:09 pm |
Zugg wrote: |
I can't imagine how a typical home user gets their network to work. |
The answer's pretty simple - they don't. I have a large collection of TV shows on my computer upstairs, which has 1TB of storage. My laptop has considerably less storage, so I used to access them remotely so I could watch them on the telly in the living room. But then one day my computer disappeared from Network Neighbourhood, never to return. I haven't bothered to fix the problem because it's so frustrating and I can just watch TV on the one upstairs, but like you say, it's the kind of thing that should be very simple to set up. It should ideally be as easy as enabling remote reading and/or writing for any particular folder and from there it should all be automatic. |
|
|
|
Rorso Wizard
Joined: 14 Oct 2000 Posts: 1368
|
Posted: Tue Jan 22, 2008 10:16 pm |
Fang Xianfu wrote: |
Zugg wrote: |
I can't imagine how a typical home user gets their network to work. |
The answer's pretty simple - they don't. I have a large collection of TV shows on my computer upstairs, which has 1TB of storage. My laptop has considerably less storage, so I used to access them remotely so I could watch them on the telly in the living room. But then one day my computer disappeared from Network Neighbourhood, never to return. I haven't bothered to fix the problem because it's so frustrating and I can just watch TV on the one in my bedroom, but like you say, it's the kind of thing that should be very simple to set up. It should ideally be as easy as enabling remote reading and/or writing for any particular folder and from there it should all be automatic. |
Sometimes wrongly configured firewalls can mess up the Windows networking. Printer & file sharing needs to be enabled as well on all computers. They should also be in the same workgroup. I think the Windows network uses something like multicast to discover what computers are connected to the network. So if something filters(perhaps router, firewall?) that out in the LAN then they wouldn't see eachother. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue Jan 22, 2008 11:06 pm |
As I mentioned above already, the Network Discovery *is* on, as is all of the Sharing options. And yes, they are obviously all in the same workgroup. If it was a router issue, then you'd think it would filter it on all computers and not just the Vista computer. All of the XP systems can properly see each other, and the Vista computer. But the Vista computer only sees itself (even though it can manually connect to all of the Vista computers).
And like I said, sharing *is* enabled properly and I can enter //Computer/Drive into the Vista Search/Run box and it will properly open the remote disk. It's just the discovery stuff that isn't working on Vista, even though it is enabled. I've even checked to make sure the "NetBios via TCPIP" option is still checked on Vista, and it is. So it's something different that Vista is doing compared to XP. |
|
|
|
Vijilante SubAdmin
Joined: 18 Nov 2001 Posts: 5182
|
Posted: Wed Jan 23, 2008 12:53 am |
It is probably caused by turning off whatever it was with the netsh command. If that actually is the case then I guess you can are limited to having either a working web browser or a working computer browser. You should probably just make shortcuts to the other computers, stick them all in one folder, and put the folder in the quick launch.
|
|
_________________ The only good questions are the ones we have never answered before.
Search the Forums |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed Jan 23, 2008 12:56 am |
I figured out the problem, and wow was this hard to track down. Maybe someone else with this problem will stumble upon this thread, so here is a detailed account of how I fixed this problem.
The problem is that the Network Neighborhood doesn't do anything as simple as search the network for computers. There isn't any way to "search" a local network for computers normally. What really happens is that when a Windows computer boots, it starts a service called the "Browser". This service sends out a broadcast packet and which ever computer in the Workgroup is set as the "Master Browser Server" notices this and updates it's master list of what is available in the workgroup. When you open the Network Neighborhood, your computer simply asks the Master Browser Server for the current list of available network resources.
There is a tool from Microsoft called BROWSTAT.EXE that can troubleshoot Browser issues. There is a good discussion with download links here: http://nitecruzr.blogspot.com/2005/05/browstat-utility-from-microsoft.html and the main Microsoft page describing it is here: http://support.microsoft.com/kb/188305 (but doesn't have the download link). Basically, the BROWSTAT tool queries your workgroup to determine who the Master Browser Server is.
In my case, the Master Browser was set to my gaming computer downstairs. Now, I have this computer set to log into my user account with no password. This is because I use the computer as an HTPC and we watch movies on it and I didn't want my wife to need to enter a password if the computer restarted itself (like after a power outage).
Well, if you don't have a password set on a user account, you cannot properly determine what resources are available to the workgroup. So, if this computer becomes the Master Browser, then the network will be screwed up on Vista, because the Vista Network Neighborhood only displays shared *resources* that you can actually access, rather than showing all computers in the workgroup. Without the password, Vista cannot access any of the resources securely, so it doesn't display any of them. XP doesn't have this restriction and will display the computers in the workgroup without trying to decide if they contain accessible resources.
When I turned off my gaming computer, then my Laptop became the Master Browser Server. This is just as bad. My laptop doesn't have the network performance to be the Master server because it's on a wireless link, and is often put to sleep. So I turned off my Laptop. Then, our main email server finally became the Master Browser server. This is a good choice, because the server is always on and it has proper account passwords.
In fact, once the gaming computer and laptop were turned off, I was able to go onto my Vista system and refresh the Network Neighborhood and the XP computers properly showed up now.
So, the problem is that you don't normally have a lot of control over which computer in your workgroup become the Master Browser Server, and if it gets set to a computer without the proper workgroup access (like no password), then it will mess up Vista systems.
The solution to this is to change how Windows decides which computer should be the Master Browser Server. A good article describing this in detail is here: http://articles.techrepublic.com.com/5100-6345_11-5032913.html
Basically, you need to adjust some system Registry keys. There is a key at HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\Browser\Parameters called MaintainServerList. By default, this key has a value of "Auto" which means that the computer is allowed to become a Master Browser server. If you change this key to "No", then the computer will never become a Master Browser server, as long as the other key called IsDomainMaster is False (which is the default). So I changed this key to "No" on both my gaming computer and my laptop. Now only our email server (Chiara's computer) or my main Vista development machine will ever be chosen as the Master Browser server.
It's really unfortunate that this stuff is so obscure. I searched many many sites before I found this information and the links given above. Most sites simply said the obvious stuff like "make sure the workgroup name is the same on the computers" and "make sure the Discovery option is enabled" and other obvious stuff like that. It seems that when we were all using XP, it didn't really matter very much what computer was elected as the Master Browser, but with Vista it can cause problems sometimes. Hope this information helps someone else with this problem. I'm just annoyed that I wasted another day messing around with this kind of stuff. Microsoft should be ashamed for making it this complicated.
Edited: Btw, the reason all of this decided to happen today is that when we were working with Comcast to get the network working, there was a period of time when the gaming system downstairs was the only computer that was on and connected (we were rebooting the computers upstairs). And once the gaming computer was chosen as the Master Browser, it wasn't going to stop until it was rebooted itself (which then caused the Laptop to take control). But that explains why it was working fine yesterday and before. It was not related to the NETSH command at all. |
|
|
|
Tech GURU
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
|
Posted: Wed Jan 23, 2008 6:22 am |
That's fascinating and quite frankly very interesting from a technology point of view. But I can imagine the frustration when you're thinking, just work DAMN IT!!!! I can see why the wouldn't want resources you don't have access to. One could argue that a computer with no password is one you DO have access, or gaping security hole and a trap to doom your PC.
You are right that it's unacceptable that there is sooo little documentation on it. But it does sound like the kind of thing only happens is you have a couple of computers operating.
I'm curious as to how it would handle the situation if it were a Vista machine that didn't have a password, but was set as the Browser master. At any rate thanks for the info. |
|
_________________ Asati di tempari! |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu Jan 24, 2008 1:13 am |
Today I continued working with trying to get various components working in Delphi 2007. It was a frustrating day. Apparently Delphi 2007 doesn't do any better than Delphi 7 did in caching stuff in memory that it shouldn't. It will cache various packages in memory and when you change a package, it continues to use the cached data instead of reloading it. Then, then next time you restart Delphi 2007 everything breaks because stuff wasn't built against the correct package versions.
So, as with Delphi 7, I find myself having to remove a package along with any package that depends upon it. Then I can change the root package, then exit Delphi. Then Run Delphi and Install the updated package, then exit Delphi. Then Run Delphi and Install all of the packages that depended on the root. Then exit Delphi and restart it to make sure all of the correct package versions are cached in memory. Fortunately, Delphi 2007 restarts quicker than Delphi 7, but this is still a big pain.
It was also driving me crazy for a while because it just wouldn't save the "installed" status of a package. I'd remove it, then restart Delphi, then Install it and restart Delphi again. Only to find that the package was not installed. It was listed in the list of packages, but the checkbox next to it was unchecked. If I checked this box, then restarted Delphi, it would get unchecked again.
I *finally* found the solution to this one, and it's really annoying (and definitely a bug in Delphi 2007). There is a set of Registry keys in HKCU\Software\Borland\BDS\5.0\Disabled Packages. Yes, Delphi 2007 is called the "Borland Developer Studio 5.0" internally...go figure. Anyway, this list of "Disabled Packages" gives a list of packages that should be unchecked and uninstalled when you load Delphi. But removing the packages and reinstalling the packages does *not* clear the package from this Registry list!! So I had to manually delete the key in this list for the package that I was trying to load. Then it worked. What a complete pain. I had remembered something like this from Delphi 7 that I had to do a long time ago, otherwise I wouldn't have thought to look in the system registry.
Oh yeah, at one point today Delphi 2007 also completely corrupted one of my package project files. It changed all of the file paths from the current directory to $(SYSROOT)\System32 for some reason. I basically had to recreate the package file from scratch to fix that. One of the problems with Delphi 2007 is that packages are now stored in two files: There is the original *.DPK (Delphi Package file) from previous versions of Delphi, but there is also a new *.DPROJ (Delphi Project file) which is a new XML format that contains more information than the *.DPK file. If you delete the *.DPROJ file and load the *.DPK file, you can force Delphi to create a new, clean *.DPROJ file. But if Delphi ever gets out of synch and updates the DPROJ file without also updating the DPK file, then you start getting all sorts of problems. And as with most XML, the DPROJ file is very hard to read or fix if you get problems. I tried messing with both of these files to fix the file path issue mentioned above and failed, so I just ended up deleting both files and creating a new package project from scratch.
Can you imagine that Delphi 2007 is considered one of the most stable versions of Delphi to date? Sounds a lot like some of the problems and bugs that CMUD users have, but the difference is that CMUD is $30 and Delphi is over $300 (and has hundreds of developers working on it). Since these problems have persisted since Delphi 7 over 4 years ago, you'd think they would fix them.
Anyway, a lot of the work I'm doing feels like 2-steps forward, and 1-step back (or more like 50 steps forward and 40 steps back). I was able to get my scrolling terminal component (used for the main CMUD window) compiled and installed. I started reapplying some of my own changes to the TRichView component (mostly to improve the HTML importing so far...this is the component used in the CMUD Help window to display HTML from the help files). I'm trying to avoid making changes to 3rd party source code, but the way the TRichView component is designed, I was forced to edit their HTMLImporter component directly. I'll probably need to do the same to re-add my ANSI code support for that component later.
And I haven't even gotten started on all of the changes/fixes to the DevExpress components yet. Anyway, I'll be working on this for the rest of the week. Hopefully tomorrow I won't waste so much time rebuilding existing package dependencies and dealing with "Disabled Packages" bugs. |
|
|
|
Rorso Wizard
Joined: 14 Oct 2000 Posts: 1368
|
Posted: Thu Jan 24, 2008 7:44 am |
Zugg wrote: |
Can you imagine that Delphi 2007 is considered one of the most stable versions of Delphi to date? Sounds a lot like some of the problems and bugs that CMUD users have, but the difference is that CMUD is $30 and Delphi is over $300 (and has hundreds of developers working on it). Since these problems have persisted since Delphi 7 over 4 years ago, you'd think they would fix them.
|
That's something that often annoys me about software. If you buy it you can get buggy software and then need to pay even more to get it fixed. Sometimes it feels like the bugs is an excuse they use to charge money multiple times. If possible I try to find free alternatives, and I think eventually these compiler developers will have to reduce the prices. Look at Microsoft Visual C++. There's now a very good free version of it made available by Microsoft. It is really amazing.
There's also open source alternatives. E.g GCC which support a range of different languages. It seems someone is trying to make a free version of Delphi, http://www.lazarus.freepascal.org/ as well. |
|
|
|
ralgith Sorcerer
Joined: 13 Jan 2006 Posts: 715
|
Posted: Thu Jan 24, 2008 5:49 pm |
Ya know thats funny Zugg, one of my editions of Borland's Turbo C++ had almost the exact same issue. But that was a long time ago. I use the Anjuta IDE on Linux for most of my C/C++ development these days. I'd love to see Anjuta expanded to support all of the languages supported by the GNU development packages, since really all Anjuta is, is an IDE frontend for the GNU compilers gcc and g++. Still, I love it. :D
Of course, I still pop open Visual Studio to compile my windows code, but alas, it isn't a perfect world :D |
|
_________________ CrossOver: Windows Compatibility on Mac and Linux CMUD Advocate |
|
|
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|