Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Fri Feb 29, 2008 5:47 am
Glad to hear you got it running! And congrats on not panicking! It's really hard to take a deep breath and take a break when something doesn't work to think it out. Not something I'm very good at myself sometimes :)
The only problem I have seen with Avast is that if it needs to download an update when it starts, the rest of the computer will basically hang during that time. So sometimes the bootup process can be a bit slower because of that. Since I leave my computer on all the time (it handles the network backups at night), that shouldn't be a big issue for me.
Anyway, I had a pretty good day of programming and bug fixing today. Still working out the kinks in the new TreeView and also improving the new dockable "Class Panel". Last night I moved the old backups to my archive disk on my gaming computer, so tonight I'm setting up the nightly image backup schedule again. And that should complete the final bits of the new computer setup. Certainly went much faster than I thought it would. I'd probably still be dealing with upgrade issues if I had still tried to upgrade the old Vista disk to the new computer.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Tue Mar 04, 2008 12:10 am
I made more good progress today. I've added the new AutoRename dialog box. This is displayed if you try to create a new setting with the same name as an existing setting in the same folder. It automatically suggests a new name by appending a number to the end of the name (or incrementing an existing number at the end). You can also Cancel the save or Delete the new setting that conflicts.
I have also changed the Copy/Paste in the Settings Editor so that if you paste back into the same folder, CMUD will create duplicates of the copied settings (and will trigger the Autorename dialog).
When pasting you also get the options to "Skip All" to ignore all pasted settings that conflict, or "Autorename All" to automatically rename every pasted setting that conflicts.
All of this also works if you just try to edit the name of a setting to something that conflicts, both in the normal Name field and in the XML editing tab.
So, this should allow the new editor to work a bit more like it did in zMUD. It should prevent corrupted settings from having duplicate settings with the same name, and yet still let copy/paste work as people would expect.
The rest of this week is more testing and bug fixing, mostly concentrating on the new settings editor treeview and the various upgraded 3rd party components. Still planning a beta release for Friday.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Tue Mar 04, 2008 8:20 pm
Today I found an annoying problem. I am going through all of the forms in CMUD and making sure they display properly on Vista. Vista changes the default system font from Tahoma 8pt to "Sergio UI" 9pt. This size difference can make labels larger and can mess up the display if I haven't provided enough room on the form for text.
Well, the problem is a bug in the Developer Express TcxLabel component. When a TcxLabel is set to Right-Justified and the font changes, it doesn't maintain the correct right edge position of the label. In many forms I have labels that are right-aligned that I want to be aligned to their right edges. And when you display this on Vista with the system font change, none of the labels line up, and some of them bleed into the text field that they are labeling.
I have reported this bug to DevExpress. It is already a known bug, but it's been around for over a year and they have not given any priority to fixing it, so I bumped it and explained how bad of a problem this is when trying to make an application look correct on both XP and Vista.
In the meantime, I need to go through all of my forms and change any right-aligned labels to the Raize Components label, which doesn't have this bug. Normally I try to keep the number of different 3rd parties to a minimum, but I already use Raize Components for buttons and transparent panels, and he still supports his components. I'll change back to the DevExpress label component when they fix the bug.
Just adds more work for me to switch the label controls everywhere.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Thu Mar 06, 2008 8:28 pm
I just wasted more time with Vista today.
By default, Vista defrags all disk drives at 1:00am on Wednesday. So, when my image backup ran after this, it detected a *lot* of changes to the disk, and made a much larger incremental backup file. This caused my backup disk to fill up today.
I wanted to change the Defrag schedule so that it runs on Sunday morning, before my image backup does the *full* backup of the disk instead of the daily incremental backup.
So I go into the Scheduled Tasks and find the Defrag entry. I try to edit the time. I get the error:
Quote:
Transaction support within the specified file system resource manager is not started or was shutdown due to an error.
I entered the command that it recommended and rebooted. Tried to change the scheduler again and got the same error. Then I found a site that said you cannot change the schedule via the Scheduler, but you need to run the Disk Defragmenter program itself to change the schedule. So I try to run Disk Defragmenter, and it never opens a window. So I enter the above "fsutil" command *again* and reboot *again*. Now after rebooting I run Disk Defragmenter again and it gives a message about "the schedule has been set by another application". I click the Reset Schedule button, and then I can get in and change the date/time.
Of course, I don't want Windows to defrag *all* of my disks. Just my Vista system disk. But you can't do that from the stupid Disk Defrag program. Instead, I have to go back into the Windows Task Scheduler and change the command listed there to put in the specific disk drive letter that I want to defragment.
I'm seriously considering looking for a different defrag program. This built-in program is just stupid. I can't believe that it seems to use the Task Scheduler, but then doesn't let you edit the schedule within the scheduler program itself. And Microsoft even admits that this is a known bug, and yet they still haven't fixed it? What's up with that?
If anyone has good experiences with other disk defragmenting software on Vista, let me know. Yet another hour down the drain. Too bad I can't charge Microsoft my hourly consulting fee for all of my time they have wasted lately.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Thu Mar 06, 2008 11:03 pm
Darn it! The Raize Component TRzLabel flickers like crazy when used in a Frame when you resize it. I use Frames everywhere in CMUD, so this is very annoying. I had forgotten that this was one of the main reasons to switch to the DevExpress labels in the first place...they do not flicker at all.
So, the correct solution is to create my own Label component that descends from the DevExpress TcxLabel and which then fixes the problem with changing the font when the label is Right justified. I should have done this in the first place. But now I need to go back through the forms *again* and change the Raize labels back to my own custom labels.
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
Posted: Thu Mar 06, 2008 11:29 pm
Ouch :(
On the topic of defraggers, I heard some good things about O&O Defrag, though I've never used it myself. I checked out my discs the other day to see if they needed doing - My 500GB E: drive is full and has 0 file fragments :D I was pretty chuffed.
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
Posted: Fri Mar 07, 2008 2:14 am
I've always been a fan of Diskeeper Professional, but my needs have been fairly simple. The version I have is 10 allows you to set a primary and secondary schedule for each drive as well as I-FAAST (reorder files for faster loading), boot time options and a few others.
I'm a big fan of the Set-It and Forget It and the ScreenSaver Defrag features.
P.S. I'm considering getting an MSDN subscription so I can try Win XP SP2, 2003 and Vista 64. Any one have experience with that?
Joined: 10 Oct 2000 Posts: 1551 Location: Australia
Posted: Fri Mar 07, 2008 9:53 am
You know what was really annoying, I bought O&O defrag a while ago (which is pretty cool by the way), but Vista decided that it would do its own Vista Defrag at 1am on a wednesday, even though I had O&O installed... so the combination of the two defraggers were just fighting over where to put stuff, lol!
Anyway, the thing I really wish I could do with a defrag program is specify "put the everquest 2 directory and the windows system32 directory right next to the swap file, put my documents and temp files toward the end of the disk, and put the rest of my programs at the start of the disk...
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Fri Mar 07, 2008 5:42 pm
Yeah, running two different defrag programs is definitely a bad idea. I've heard that the Vista defrag doesn't like the way a lot of 3rd party defrag programs organize the disk...somehow it ends up thinking that the disk is completely fragmented when it's not.
If Microsoft is going to build tools like this into the OS, I wish they would do a proper job. Otherwise just don't do it and let the 3rd parties handle it. *Especially* if they are going to automatically schedule something like defrag and then make it hard to control and manage, and *especially* when it is running by default on *all* disks on your system. Someone could really get a disk screwed up by this mess, especially on dual-boot systems that share disks.
I finished the component replacements yesterday. There is a GExperts tool for Delphi for replacing components that will replace every component reference within a project. I was a bit nervous about running it, so I backed-up my files and tried it. I was about to create my own TzsLabel that descends from the DevExpres TcxLabel but has the proper handling of the font changes for right-aligned labels. I then did a global component replace of the Raize TRzLabel with the new TzsLabel. It seems to have worked on all of the forms that I've checked, so I think it's going to be ok. And DevExpress has accepted the bug report about the label alignment and added it to their "fix soon" list.
Last night I also started working on incorporating the new PCRE code that Vijilante wrote into CMUD. I wanted to get it into this version so that Vijilante could play with it and see if it works better/faster than the old code. The new code will call the PCRE.DLL file instead of having the PCRE code compiled within the CMUD.EXE. This will make it easier to update to newer versions of the PCRE library in the future. In addition, he has a new version of the %subregex function that handles back references properly, which should allow for some pretty powerful stuff. More on this when I get it finished.
I also got the FastMM4 memory leak detector installed yesterday so that I can look for any problems in the new CMUD under Delphi 2007. Today I still want to update to the latest version of the Armadillo copy protection, which is supposed to fix Vista DEP problems. I also still need to make a few changes to the TRichView component that I'm using in the CMUD editor so that it can parse ANSI codes again.
So I still have a fair amount of work left today. If I don't get a release done today, then I might work again tomorrow and take Sunday/Monday instead of Sat/Sun for my weekend.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Fri Mar 07, 2008 8:14 pm
Well, nevermind about the Armadillo update. They are still charging a ridiculous amount to upgrade to the newer version ($229 for upgrade of a $299 product). The newer version doesn't even necessarily fix the DEP issue in all cases, and might even cause some new problems for some people. And that's the only "feature" that changed...no other new protection methods. Not a very good value for $229 in my opinion. Also, judging from the lack of activity in their forums, I'm even worried that the product is not being actively maintained or supported anymore. They seem to be more focused on the full Digital River copy protection which is more like the "phone home" activation method we used to have with eLicense. And I don't want that. So I think I'm just going to stick with the current method which seems to work fine for most people. It's also one less thing for me to worry about upgrading.
Joined: 18 Oct 2000 Posts: 2733 Location: Atlanta, USA
Posted: Fri Mar 07, 2008 8:35 pm
I'm not sure how it works but ZDNET mentioned this open source defrag tool that ought to be worth checking out. It's called Ultra Defragmenter. If nothing else you've got to like the price.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Sat Mar 08, 2008 12:44 am
OK, I'm sorry, but I'm just not going to get this version released today or tomorrow. I am running into all sorts of various memory leaks and other problems. I just don't feel comfortable releasing a really crappy version, even if the Settings Editor *is* better. There are still layout problems with the docking system and toolbar system and I want this version to be actually usable (otherwise nobody can use it enough to report other problems).
I was frantically working on this today and realized that I was just trying to rush it. And one of my goals this year was to release better versions and not rush the releases. Even though I don't plan to fix all of the reported bugs in this version, and this version is just mainly supposed to be a test of the upgraded 3rd party components and Delphi 2007 stuff, I'll get better bug reports if I take the time to test it a bit more and fix more stuff.
I thought about working Saturday and trying to do the release tomorrow, but that still feels like rushing it. I'd rather take the weekend to consider what other bugs to fix and then do a good job fixing stuff early next week. Then maybe I can release something mid-week instead of waiting till Friday.
Thanks for your patience and understanding on this. I know everyone has been anxiously waiting for a while for this new version, but I want to get it right.
Hear, hear. I think those of us on the Beta forum understand the give-and-take of releases. Take the time to fix the ones that need to be fixed, and release it when it's ready. As long as you keep the community informed (and you are), we'll be patient.
_________________ Come visit Mozart Mud...and tell an imm that Aerith sent you!
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
Posted: Mon Mar 10, 2008 4:55 am
Zugg wrote:
So far the only loss with the new TreeView is that the tree is no longer "editable". For example, you cannot just rename the tree item, or change it's priority number when using Sort by Priority.
In case there was any doubt about this, I really don't think this is a bad thing. I was just trying to copy some stuff into a class and accidentally pasted the XML into the class' name rather than into the class itself. Very annoying. Since renaming requires two clicks on the name anyway, the entry will be highlighted - you can just click whatever box you want to edit after that.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Wed Mar 12, 2008 11:11 pm
Still working on this. I keep finding more bugs every day. Using the global replace for the Labels caused some problems on some other forms that I hadn't looked at in a while. One of these was the Mud Connector list of MUDs. I guess nobody has been playing with that in v2.18 very much, because there were several problems with the filtering and grouping not working properly.
Fixing the problem with #CLOSE causing the package to get set to ReadOnly uncovered a *lot* of problems with windows. In general, using #CLOSE to hide a window wasn't properly closing the window, causing some massize memory leaks. I have fixed this in 2.20 and have also modified the #WINDOW command so that it will search for a hidden window and re-display that window.
I want to make sure that closing a window (either with #CLOSE or using the right-click Hide option on the window tab) doesn't actually delete the window or it's scripts from the session package file. If you want to really delete a window for good, you need to go into the Settings Editor and delete it from there just like deleting a class folder. I might add a #DELMODULE command to be similar to the #DELCLASS command, but I haven't decided yet.
In the process of working on this, I uncovered and fixed some bugs related to the command line toolbar not always getting reattached to the correct window. For example, if you used #CLOSE to close a window and then went into the Settings Editor and enabled the "Window is Visible" option, the window wouldn't have it's command line settings anymore. Fixing this also improves how CMUD deals with potentially corrupted layout files when loading. So hopefully that will cure some of the command line issues that people have had for a while.
So, I'm still splitting time between fixing problems related to the 3rd party component changes and fixing other bugs in CMUD. But I still think doing the release on Friday won't be any problem.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Thu Mar 13, 2008 7:49 pm
Darn it! Closing sessions still isn't working properly. I don't know WHY I can't get this working right...it shouldn't be this hard. But right now, closing a session more than once is corrupting the layout file. Sigh.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Fri Mar 14, 2008 12:17 am
Well, I uncovered a couple of problems related to this:
1) When CMUD calls the AQDocking system "RemoveFromDock" routine when you close a MUD window, it turns out that the underlying docking window is not actually removed. It is just hidden. So now when you save the layout, it saves those "hidden" windows. When you reload the same session, you now get duplicates of these hidden windows, which then get saved again. So if you continue to Close Session and then Open it again, the XLY file just fills with these hidden window entries. Since they all have the same Key fields, the entire docking system starts to get confused.
2) When Delphi creates a new component at runtime, it gives it a unique name using a sequential number system. So, the first MUD window that is created is called "MUDForm", and the second one is "MUDForm_2", then "MUDForm_3", etc. The command line object on the toolbar for each window is named "MUDForm_ComLine", "MUDForm_2_ComLine", etc.
But when you close a session and then reopen it, Delphi doesn't reset this counter. So now it creates "MUDForm_4", "MUDForm_5", etc. But when it loads the Toolbar Layout (*.tbz file), there are references to the command line as "MUDForm_ComLine" even though the existing command line is now called "MUDForm_4_ComLine". If the new toolbar layout gets saved, now the "MUDForm_4_ComLine" is saved in the toolbar file. And if you close CMUD and reopen it, the command line is back to being named "MUDForm_ComLine" but the layout file has "MUDForm_4_ComLine" in it.
Does your head hurt yet? Mine sure does.
Anyway, I have fixed the docking system so that it properly deletes the hidden windows. And I have fixed the toolbar layout loading routine so that it replaces the component names "on the fly" with the problem names. It can get the current name of the window because I store the unique "key" value for the window with the toolbar object in the *.tbz file. So I use that to override the Delphi-generated sequential names.
Now I still have some remaining problems. The menu when you right-click a docked tab has two "Hide" options, and neither of them seem to work. This looks like it was left over from an older version of the Docking library, so I need to look at that and fix it. Looks like they made a lot more changes in the latest Docking library than I had thought, and it's causing all sorts of side effects in different parts of CMUD.
Joined: 04 Aug 2002 Posts: 4691 Location: Pensacola, FL, USA
Posted: Fri Mar 14, 2008 3:51 am
I don't think the problem is necessarily that close is hiding the windows so much as that the hidden windows are getting ignored instead of unhidden and reused.
If its deleted the settings go with it no? Someone may wish to merely get rid of the window for now, but still keep all the settings of the window there for use at a later date.
Joined: 26 Jan 2004 Posts: 5155 Location: United Kingdom
Posted: Fri Mar 14, 2008 4:42 am
shalimar wrote:
Someone may wish to merely get rid of the window for now, but still keep all the settings of the window there for use at a later date.
I think that's the intention.
Zugg wrote:
I want to make sure that closing a window (either with #CLOSE or using the right-click Hide option on the window tab) doesn't actually delete the window or it's scripts from the session package file.
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
Posted: Sat Mar 15, 2008 3:43 am
OK, I think I'm going to close out this *long* blog entry now. It's been a long 2-months work on getting CMUD working with Delphi 2007 and Vista. Lots happened along the way. But I think I have a working Vista development system and I've got the first beta versions of CMUD 2.20 released.
I didn't get as much fixed in CMUD as I'd hoped. There just always a lot more to fix than I can deal with. Those bugs with the closing of sessions were real killers. But, even though 2.20 still has plenty of bugs, I try to remember that it's all about "forward progress" and even though it seems slow at times, v2.20 is definitely a step forwards from 2.18. The new settings editor is *much* easier to debug and maintain, so even if it still has problems, they will be a lot easier for me to fix. It's just a matter of putting one foot in front of the other and continuing to make forward progress.
So, I'll start a new blog entry next week to start talking about the MyMuds.com project and the next version of CMUD that will go with that.
Thanks for listening to me whine about Vista and Delphi 2007 issues. I'm sure I'm not done with them, but hopefully I'm past most of the major hurdles now. But your commands and suggestions were very helpful in getting me through a tough couple of months. I'm a bit burned out again, but hopefully the switch of mindset to working on the web site next week will help.
As I expected, this is hard. Several annoyances so far:
2) Delphi 2007 no longer allows the comparison:
if Char = '' then ...
to see if the Char variable is empty (equal to #0). A char value of #0 is no longer the same as the '' comparison, but the compiler doesn't complain about this bad syntax. The TurboPower XMLPartner components that I use for all of the XML parsing in CMUD has this comparison in several places. This is one of the components that has not been updated for Delphi 2007 (because TurboPower went out of business several years ago and posted all their source code to SourceForge). Once I fixed XMLPartner, then CMUD could load XML values (which is used a lot internally).
Hi,
I'm also using xmlpartners a lot and I've found the same ... annoyance under delphi 2007. Could you tell me what you've changed to make it work ?
You cannot post new entries in this Blog You cannot reply to entries in this Blog You cannot edit your posts in this Blog You cannot delete your posts in this Blog