* Glyphs on TSpeedButtons / TBitBtns are not displayed
* Progress bars (TProgressBar) have new look but only progress to about 20%
of full width
* The open file dialog (TOpenDialog) has the general Vista look and feel but
doesn't include the new Search box and the clickable segmented pathname.
Anybody having any better success?
--
Chris Burrows
CFB Software
http://www.cfbsoftware.com
1, Vista isn't released yet so this can be changed to release
2, D2006 is released bevor Vista-Beta comes out, so Borland have no chance to support
new features/switches/flags or changed behaviour in Windows-API
3, Glyphs: Problem only appear when Manifest is added to Exe. This problem doesn't appear with
.NET 1.1 (VS.NET 2003) Apps.
4, ProgressBar: No Problem with my Vista-Beta in VM. I think this is a bug in the Grafic-Driver
5, Confirmed. I think the TOpenDialog must be modified to open the common-dialog with a new
flag for Vista-Look/Search-Button. The same "problem" is for .NET 1.1 Apps created by VS.NET 2003
This is completely true, but I don't think it was Chris' intention to
criticise, just to give a heads-up for developers and DevCo regarding issues
that one might encounter deploying BDS2006 apps to Vista.
Certainly, when current tests already indicate Vista (beta) compatability
issues for BDS2006 apps, DevCo may want to plan extra resources for a
dedicated effort to achieve the best possible Vista compatability in BDS2007
(both for .NET and Win32 apps).
If Vista is not officially released before BDS2007, then at least
best-effort compatability against known API changes in the latest beta
should be ensured. I'd recommend that DevCo open a special QC area for Vista
(beta) compatability issues.
--
Kristofer
http://www.microsoft.com/technet/windowsvista/appcompat/default.mspx
There is a collection of Microsoft tools to assist with compatability. Here
are two that I've used.
http://www.microsoft.com/technet/prodtechnol/windows/appcompatibility/appverifier.mspx
Microsoft Application Verifier is a runtime verification tool for unmanaged
code. It assists developers in quickly finding subtle programming errors
that can be extremely difficult to identify with normal application testing.
Application Verifier makes it easier to create reliable applications by
monitoring an application's interaction with the Microsoft Windows operating
system, profiling its use of kernel objects, the registry, the file system,
and Microsoft Win32 APIs (heap, handles, locks, and more).
The Standard User Analyzer helps developers and IT professionals diagnose
issues that would prevent a program from running properly without
administrator privileges. On Windows Vista, even administrators run most
programs with standard user privileges by default, so it is important to
ensure that your application does not have administrator access as a
dependency.
Here's another glitch for you
http://www.whitebear.ch/images/TMS_Popup_WinXP.PNG
http://www.whitebear.ch/images/TMS_Popup_Vista.PNG
Hint: take a look at the popup menu; on XP it shows the "Modify" command but
on Vista "Modify" it has gone...
I don't yet know if this is a problem with Microsoft's Vista, Borland's
TActionList or TMS's TAdvPopupMenu...
Regards,
AndrewFG
> If Vista is not officially released before BDS2007, then at least
> best-effort compatability against known API changes in the latest beta
> should be ensured. I'd recommend that DevCo open a special QC area for Vista
> (beta) compatability issues.
I agree. I'm currently in a major rewrite mode on my software, and I
am testing in Vista for compatibility. I've had excellent success so
far with my Delphi Win32/VCL development and Vista compatibility, but
for DevCo to really shine, they need to make Vista compatibility a
priority, even if it is just making sure that nothing currently
"breaks" on the latest Vista build(s).
Of course, nobody can "officially" support a beta OS, and that's what
I'd tell my own customers. But that doesn't mean it shouldn't be a
priority -- like my own development, I hope DevCo is "unofficially"
testing on Vista...
--
Brandon Staggs
http://www.swordsearcher.com
http://www.studylamp.com
http://www.brandonstaggs.com
>
> http://www.microsoft.com/technet/prodtechnol/windows/appcompatibility/
> appverifier.mspx Microsoft Application Verifier is a runtime
> verification tool for unmanaged code. It assists developers in
> quickly finding subtle programming errors that can be extremely
> difficult to identify with normal application testing. Application
> Verifier makes it easier to create reliable applications by
> monitoring an application's interaction with the Microsoft Windows
> operating system, profiling its use of kernel objects, the registry,
> the file system, and Microsoft Win32 APIs (heap, handles, locks, and
> more).
Hi,
I was trying to use this AppVerifier you showed us but it keeps telling
me "The tests that you have selected for MyApp.exe require a debugger"
and gives me an URL http://www.microsoft.com/whdc/ddk/debugging that
can not be found on the server.
Any idea?
TIA
--
Best regards :)
Guillem Vicens Meier
Dep. Informatica Green Service S.A.
www.clubgreenoasis.com
--
Contribute to the Indy Docs project: http://docs.indyproject.org
--
In order to contact me remove the -nospam
FYI, several of the developers here are running with latest Vista build and
have also noticed a few anomolies. We plan on making sure Highlander (the
next Delphi/BDS release) doesn't behave badly on Vista.
Do you have theming enabled on your Delphi apps? Try turning it off. That
may give us a clue as to the causes.
--
Allen Bauer
DevCo Chief Scientist
Borland^H^H^H^H^H^H^HDevCo Software Corporation.
http://blogs.borland.com/abauer
Thank you for your feedback.
>
> 1, Vista isn't released yet so this can be changed to release
>
I hope so.
> 2, D2006 is released bevor Vista-Beta comes out, so Borland have no chance
> to support
> new features/switches/flags or changed behaviour in Windows-API
>
Understood.
> 3, Glyphs: Problem only appear when Manifest is added to Exe. This problem
> doesn't appear with
> .NET 1.1 (VS.NET 2003) Apps.
>
I'm only working with Win32 apps with BDS2006/Delphi but, yes, it appears to
be a manifest-related issue.
> 4, ProgressBar: No Problem with my Vista-Beta in VM. I think this is a bug
> in the Grafic-Driver
>
My experiments indicate it is more likely to be a manifest-related issue as
well.
> 5, Confirmed. I think the TOpenDialog must be modified to open the
> common-dialog with a new
> flag for Vista-Look/Search-Button. The same "problem" is for .NET 1.1 Apps
> created by VS.NET 2003
>
I initially thought the same. However, I've tried similar experiments using
Oberon Microsystem's "BlackBox Component Pascal" Win32 development tool,
which hasn't been substantially updated for a few years. The IDE and
applications built with it both automatically pick up the new-style open
file dialog. The pre-Vista BlackBox open-file dialog looked the same as the
pre-Vista Delphi one.
Yes same here. Its to do with the TButtonGlyph.DrawButtonGlyph using
an incorrect value for calls to ImageList_DrawEx. It uses the clNone
and clDefault TColor, whereas the ImageList has its own definitions of
these const. I never did get it fully sorted. Instead I used a
TToolbar in its place.
Another one to add to the list, is that Vista has its own new font, and
it default is resized larger. Also it takes up a couple more pixels in
height over Sans serif.
VISTA_FONT_NAME = 'Segoe UI';
VISTA_FONT_HEIGHT = -12;
VISTA_FONT_SIZE = 9;
Graphics.DefFontData.Name := VISTA_FONT_NAME;
Graphics.DefFontData.Height := VISTA_FONT_HEIGHT;
Set the defaults above when the app starts. For some reason my forms do
not follow this above when they first draw, so I run through each form
and change the forms font. The Parentfont prop in the controls helps
set the remainder.
I have isolated the problem of the SpeedButton/BitBtn. The problem is the
ImageList_Replace call. Something is wrong with that in themed Vista
applications. See my attached Sample project in the binaries group. You can
see that the Image is
wrong after the ImageList_Replace. This looks very much as a bug in the
Vista ImageList handling to me, but I'm not sure.
procedure TForm1.PaintBox1Paint(Sender: TObject);
var
TmpImage, MaskBmp: TBitmap;
begin
TmpImage := TBitmap.Create;
try
TmpImage.Width := 16;
TmpImage.Height := 16;
TmpImage.Canvas.Brush.Color := clBtnFace;
MaskBmp := TBitmap.Create;
MaskBmp.Monochrome := True;
MaskBmp.Width := 16;
MaskBmp.Height := 16;
ImageList_Draw (ImageList1.Handle, 0, MaskBmp.Canvas.Handle, 0, 0,
ILD_MASK);
PaintBox1.Canvas.Draw(0,0, MaskBmp);
ImageList_Draw(ImageList1.Handle, 0, TmpImage.Canvas.Handle, 0, 0,
ILD_NORMAL);
PaintBox1.Canvas.Draw(20,0, TmpImage);
ImageList_Replace(ImageList1.Handle, 0, TmpImage.Handle,
MaskBmp.Handle);
ImageList_Draw (ImageList1.Handle, 0, PaintBox1.Canvas.Handle, 0, 20,
ILD_NORMAL);
ImageList_DrawEx (ImageList1.Handle, 0, PaintBox1.Canvas.Handle,
0, 40, 0, 0, CLR_NONE, CLR_NONE, ILD_TRANSPARENT);
finally
MaskBmp.Free;
TmpImage.Free;
end;
end;
Regards
Rolf
"Allen Bauer" <aba...@spicedham.borland.com> schrieb im Newsbeitrag
news:44ca2e1b$1...@newsgroups.borland.com...
I found this description on the problem and a fix (half way down):
http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=462714&SiteId=1
It looks and sounds like a bug, or maybe MS is dropping the callback
proc from these?? In any case, I have adjusted my Save / Open dialogs
and can confirm it also the fix works in Delphi.
Regards Rossh