Friday, August 27, 2004
QualityCentral a waste of time? I don't think so!
2630 - Cannot move splitter on Comments Tab
6894 - Code Editor flickers with ClearType enabled on Windows XP
7036 - WinForms CodeDom parser cannot parse class properties
I also see many people criticize the interfaces to QualityCentral (Web and desktop clients), citing them as unusable. I personally have no problems with them, but am currently using a Windows client developed by Jeremy North. While still in alpha, I find it very nice with many useful features.
So you have been warned, people. If you want Borland to fix bugs or implement new features, use QualityCentral. It's as simple as that.
Wednesday, August 25, 2004
Warning schmarning!
Only 272 hints and 224 warnings to go. :-)
Wednesday, August 18, 2004
More horror code
if Bpp=16 then Base:=$FFFF else Base:=-1;
n:=0; b:=fMask mod 10; Inc(n,b); fMask:=fMask div 10;
bMask:=Base shr(Bpp-n); bshr:=8-b; gshl:=b;
b:=fMask mod 10; Inc(n,b); fMask:=fMask div 10;
gMask:=Base shr(Bpp-n)and not bMask; rshl:=n; gshr:=8-b;
b:=fMask mod 10; Inc(n,b); fMask:=fMask div 10;
rMask:=Base shr(Bpp-n)and not(bMask or gMask); rshr:=8-b;
No formatting was lost when posting this code snippet, BTW. It has been accurately presented in all its...ahem...glory.
Saturday, August 14, 2004
My Dream Machine Part 2
-P4 3.2Ghz w/Hyperthreading
-1Gb 533Mhz DDR2 SDRAM
-160Gb HDD
-128Mb ATI RADEON X300 Graphics Card (OK this was good until I found out it was considered an entry level card :-( )
Wednesday, August 11, 2004
A change is as good as a holiday
Tuesday, August 10, 2004
For he's a jolly good fellow!
Of course, in true Delphi fashion, it goes above and beyond what other languages have implemented, and it works for the Delphi Win32 AND Delphi for .NET compilers. :-)
Friday, August 06, 2004
Another cross against with
n := -1; { counter which identifies which group index we are up to }
with TProjectAlias(gAliases.Items[PrjIndex]) do begin
with TNetList(PNetIndex.Items[NetIndex]) do begin
with TAppIndex(ApplIndex.Items[AppIndex]) do begin
for i := 0 to SortedLevels.Count - 1 do begin
with TLevelEntry(SortedLevels.Items[i]) do begin
if GroupAdd = StrPas(inGrpAdd) then begin
n := n + 1; { increment count }
if n = inIndex then begin { check if it is the right one }
tmpDesc := TLevelEntry(SortedLevels.Items[i]).Desc; { copy description }
StrPCopy(outDesc, PadString(tmpDesc, DESC_LENGTH));
break;
end; { if }
end; { if }
end; { with }
end; { for }
end; { with }
end; { with }
end; { with }
Granted, like most starting out Delphi developers I initially embraced the concept (wow, think of all the typing I'm saving with this great feature), but gave away the notion a few years ago due to it being harder to maintain, and the ambiguity issues it can create. I used to make an exception when creating class functions to show modal forms (as shown below), but I've even stopped doing that now.
with TSomeForm.Create(nil) do
try
Result := ShowModal;
finally
Free;
end;
The snake's gonna be released from it's cage
And here's hoping the "What's New in the Delphi Compiler" track detailed in the article will put pay to all the FUD spread on the ngs that Borland have abandoned the Win32 side of their business. I know it won't but a man can dream, can't he?