|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Mon May 01, 2006 11:33 pm
I hate debugging other people's code!! |
It's been another one of those days!
Last week I updated the Developer Express package to their latest version. I hadn't done this since last August. Now I wish I hadn't.
One of the new features that I really wanted is that their checkbox controls are supposed to handle transparency now, which is important for theming. However, their new update seems to add *new* bugs that not only makes the transparency in their checkbox not work, but now their Label controls aren't transparent either.
This only seems to be a problem with controls placed on Frames within a form. The problem is that I use frames a *lot*.
Now, there are some bugs with Frames in Delphi, but I've already applied the patch to the frame that is supposed to fix this issue with controls that are static (no window handle). But this fix doesn't work with the DevExpress controls in their latest update.
I've sent them a support request, but I've spent the whole day on this issue. I'm getting *REALLY TIRED* of messing with other people's code that I've spent a *lot* of money for. I don't have time for this. I have enough things in my own code to be working on. This is just SO frustrating *again*.
Seems like I always posting about this kind of stuff. It's getting old. |
|
|
|
Baram Novice
Joined: 23 Apr 2006 Posts: 33 Location: Seoul, Korea
|
Posted: Tue May 02, 2006 1:58 am |
I know how you feel, I've run into that problem more than once. Only with me I can't edit their code, so I have to come up with creative ways around the bugs/lack of features, which is never fun to have to do.
That's one reason why I made the choice to dump Persistent Realms' old teams code and start from scratch. I've gotten so many headaches in the past from trying to work with other peoples code, that in some cases it's easier just to reinvent the wheel. Of course, with the type of things you're doing, reinventing the wheel just isn't an option... I feel your pain. |
|
_________________ Joseph Monk
Working on yet unannounced MUD. |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue May 02, 2006 5:34 am |
Man, I don't know what I'd do if I didn't have the source code to modify. You should really consider this if you are doing professional software development. Without the source code you run the risk of the company going out of business leaving you high and dry without being able to update anything. And I'm *always* dealing with some bugs and tweaks that I can fix faster than they can. I never use any controls that I don't have the source code for.
For example, I modified the DevExpress controls to be compatible with my own Theme engine. I couldn't have done this without the source code.
And yeah, there is no way I could replicate all of this code myself. And they are still the best. I've evaluated the code of almost every major Delphi component library, and even with their bugs, DevExpress has better code design and fewer bugs that the competitors. What's frustrating is that the dxBars components (for menu bars) is much lower quality than their other components (like their Grid). Obviously it was written by a different team of people. The entire architecture is just *wierd*.
For example, they don't compute the bounds (width and height) of a toolbar control until it's time to actually Paint the control on the toolbar. So, when you are adding controls to the toolbar at runtime, you have no idea what the size of the item will be yet. You can't do fancy stuff like auto-sizing or filling in gaps between toolbars, or stretching controls because you don't have the width of the control available.
I end up having to kludge this by sending a Paint message, and then posting my own message to the queue to update the toolbar. That ensures that when my Update routine runs, the toolbar has been painted and the widths are now available. But there are times when this can't be done. For example, you can't suddenly paint the toolbar when you are in the middle of restoring a docking layout, or stuff like that.
I've considering tossing out their menu bar system. Unfortunately, the best other alternative is Toolbar2000 (along with TBX) which I already used in zMUD. And the problem with Toolbar2000/TBX is that they don't support the runtime end-user customization. That's one thing that Dev Express does a *really* nice job with...they make the runtime end-user customization work in a simple drag/drop way just exactly like MS Office works. And that's the model that most end-users are familiar with. That end-user customization is a *key* feature in CMUD, so I can't do without it.
So, I'm stuck with using dxBars. They are talking about a rewrite to dxBars sometime later this year, but it will probably take a while before it's stable. I think one of the problems I'm also dealing with is that fewer and fewer programmers are using Delphi, so there are fewer developers to help debug their code. I sometimes feel like I'm being left high and dry by sticking with Delphi, but I just can't give up 25 years of Pascal coding experience to go start over with something like C++. I also really don't want to get into .NET programming yet...I want CMUD to be a native Win32 application. Maybe someday 10 years from now when everyone is using Vista then maybe I'll do some .NET stuff, but I'd have to give up all of my Pascal and Win32 experience, and by then I would rather just retire I think.
Anyway, as usual I ended up finding their bug with transparent controls and frames myself. I modified their source code and sent them the fix. Now it's working again, but that was another waste of a programming day. A task that had one hour on my schedule ended up taking 8 hours. |
|
|
|
bortaS Magician
Joined: 10 Oct 2000 Posts: 320 Location: Springville, UT
|
Posted: Tue May 02, 2006 4:29 pm |
Quote: |
I sometimes feel like I'm being left high and dry by sticking with Delphi, but I just can't give up 25 years of Pascal coding experience to go start over with something like C++. I also really don't want to get into .NET programming yet...I want CMUD to be a native Win32 application. Maybe someday 10 years from now when everyone is using Vista then maybe I'll do some .NET stuff, but I'd have to give up all of my Pascal and Win32 experience, and by then I would rather just retire I think. |
I hear ya. I left the Delphi world several years back. I just couldn't find enough jobs, and the ones I found had rather abusive workplaces. Got tired of having my chain yanked, so I ditched Borland tools. I'm happily a C# programmer. Besides, the father of Turbo Pascal and Delphi, Anders Heljsberg, is the creator and chief architect of C#. I felt right at home once I started using it. C# even uses the same semantics for a lot of stuff. The main one being the "sender As Object" everywhere.
I'm sure you already know about Delphi.NET, and here is another .NET Pascal implementation by RemObjects (loved their stuff when I was doing Delphi!)
http://www.chromesville.com/index.asp
I know that you don't want to do .NET right now, but it doesn't hurt to know your options. |
|
_________________ bortaS
~~ Crusty Klingon Programmer ~~ |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Tue May 02, 2006 7:18 pm |
Yeah, I knew about the involvement of Anders in C# and that is a good thing. But it's probably still "C-based" with {} instead of begin/end. Also, it's not so much the language syntax. I can program in C, VB, PHP, Perl, and a few others. The experience comes more into play knowing the ins and outs of all of the components.
Whenever I start working with .NET, I will not use Delphi.NET. In my mind, it's pointless to use a 3rd party .NET development system instead of Visual Studio. Visual Studio gets more support, and more people using it to get the bugs out. And with all the Delphi people that Microsoft hired, even the IDE is better. I can also still get CodeRush for Visual Studio along with DevExpress components if I want them. There just isn't a compelling reason to use Borland's stuff for .NET, especially with all the problems Borland is having. If I made the switch, I'd just make the *complete* switch and go for the Microsoft tools, which can be fairly affordable these days.
It's always been one of the reasons that Borland boggled my mind with their .NET strategy. It's no wonder they have lost customers and gotten into trouble. I personally feel that they abandoned their long-time customers and first went off in the .NET direction by mistake, and are now going off in other "Enterprise" web-development directions. Totally contrary to their roots.
Gee, it's sort of like if I abandoned the MUD customers and started working on completely different stuff Hey, well, at least I think I learned from my mistake. Borland is making more serious mistakes, and it's sad to see.
But for now I'll stick with Delphi 7 as long as I can. At least it still works reasonably well, and as long as Developer Express continues good support of their VCL Delphi components, then I should be fine. And they continue to release monthly updates and even develop new components. They just released something called their PivotGrid that I'll have to look at for the CMUD database module. And they claim to be working on a rewrite of dxBars that I'm looking forward to. So at least they are still supporting VCL and Win32. The day they make VCL a legacy product is probably the day I'll start learning .NET programming. Hopefully that is many years in the future. |
|
|
|
theNerd Adept
Joined: 01 Mar 2005 Posts: 277
|
Posted: Tue May 02, 2006 9:40 pm |
I personally have found C# very nice to work with.
BTW, have you tried Delphi with Vista? (just curious to see if anything was broken.) |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Wed May 03, 2006 3:20 am |
No, I won't be getting Vista until it's released to the public. I don't have time to beta test Windows OSes. And I'm very careful about messing with my development systems. I don't plan to upgrade to Vista until it is stable (assuming that Delphi runs). If Delphi doesn't run on Vista, that will stop me from upgrading to Vista for a long time.
|
|
|
|
Taz GURU
Joined: 28 Sep 2000 Posts: 1395 Location: United Kingdom
|
Posted: Wed May 03, 2006 1:03 pm |
It sounds to me like DevExpress ought to pay you some money for the bug fixing you do, either that or refund the money you've spent on their products.
|
|
_________________ Taz :) |
|
|
|
Rainchild Wizard
Joined: 10 Oct 2000 Posts: 1551 Location: Australia
|
Posted: Thu May 04, 2006 6:28 am |
I never got into the whole Delphi/Pascal thing, but I used to swear by C++ Builder -- the VCL really was a top notch piece of code and being a C/C++ programmer it came naturally to me so I didn't have a need for Delphi.
In the last 6 months work has switched to using C# and actually I find it a very nice language to program in. Visual Studio, whilst sluggish at times on the lappy, is really really nice to use. There are some quirks with the whole .NET thing that frustrate me from time to time, but as I learn more about them the language does grow on me. I am giving some serious thought to rewriting from scratch my MUD engine using C#.NET and MSSQL Server instead of C++ and text files.
So yeah, 12 months ago I was all ".NET is the worst thing in the world", but it has grown on me since then and while I still swear at it a bit, I'm starting to swear by it a bit too. And it's starting to be a legitimate language too - gaming companies can write in C#.NET and DirectX now with approximately 98% the efficiency you get with C++ and DriectX. |
|
|
|
theNerd Adept
Joined: 01 Mar 2005 Posts: 277
|
Posted: Thu May 04, 2006 3:35 pm |
Rainchild, I feel the same way as you. 12 months ago I wanted nothing to do with .NET except the fact that my work was going that route (via C#). Now I've grown to accept and even like it (and, like you, there are times I hate its quirks but you kinda get use to them.)
|
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Thu May 04, 2006 4:30 pm |
Another issue that I would have is converting existing code. Look at CMUD. Even with reusing some existing zMUD code it's taking me close to 9 months to just release a first beta version. At last count, CMUD is over 1.2 MILLION lines of code (yes, that includes some 3rd party components). So, just converting all of that Delphi/Pascal code into something like C# would be a major undertaking for one person.
As I'm going through and getting all of the details in CMUD working, I've gained new respect for the abilities of zMUD and how hard it is to duplicate. It's a trivial one-week job to put together a simple MUD client. It's a whole nother job to build a MUD client as rich as zMUD and CMUD.
So, even though .NET is getting better (which is a good thing for all of us), I still can't imagine switching until I'm absolutely forced. And right now, the only thing that would force it is if Delphi 7 didn't work on Vista, which will probably be pretty unlikely. If Delphi 7 doesn't work on Vista, then that means Vista isn't nearly as compatible with Windows XP as it *must* be for it to be successful. Normal users are not going to upgrade to Vista if all of their apps break and they have to buy new updates. While I know that Vista doesn't need to be perfectly compatible with older versions of Windows, Microsoft needs to do a pretty solid job with Windows XP migration. And that's the main thing I'm waiting to see with Vista. If it isn't compatible, then I'll probably wait and see what Microsoft does about it, since there will be plenty of customers screaming at them.
What I'll probably loose out by sticking with Delphi on Vista is the ability to utilize many of the new features of Vista. But I'm guessing that will improve over time as 3rd parties like DevExpress start "emulating" Vista features. I've already seen this with the TMS Software components (crappy code, but "pretty" features). Although if their demos of the new Vista menus are accurate, I'm not sure I'm going to like it at first. |
|
|
|
|
|
|
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
|
|