Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Delphi app glitches on Windows Vista

3 views
Skip to first unread message

Chris Burrows

unread,
Jul 27, 2006, 10:48:16 PM7/27/06
to
I'm experiencing a number of glitches with my Delphi (2006 + upd 2) apps
when running on Windows Vista Beta 2. e.g.

* 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


Bernhard Geyer

unread,
Jul 28, 2006, 4:06:29 AM7/28/06
to
Chris Burrows schrieb:

> I'm experiencing a number of glitches with my Delphi (2006 + upd 2) apps
> when running on Windows Vista Beta 2. e.g.
>
> * 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?
>

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

Kristofer Skaug

unread,
Jul 28, 2006, 5:59:02 AM7/28/06
to
Bernhard Geyer wrote:
> 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

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


I.P. Nichols

unread,
Jul 28, 2006, 6:28:23 AM7/28/06
to
"Chris Burrows" wrote:
> I'm experiencing a number of glitches with my Delphi (2006 + upd 2) apps
> when running on Windows Vista Beta 2. e.g.
>

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).

http://www.microsoft.com/downloads/details.aspx?FamilyId=DF59B474-C0B7-4422-8C70-B0D9D3D2F575&displaylang=en

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.

Andrew Fiddian-Green

unread,
Jul 28, 2006, 8:22:54 AM7/28/06
to
> Anybody having any better success?

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


Brandon Staggs

unread,
Jul 28, 2006, 10:04:46 AM7/28/06
to
"Kristofer Skaug" wrote on Fri, 28 Jul 2006 11:59:02 +0200:

> 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

Guillem

unread,
Jul 28, 2006, 10:51:21 AM7/28/06
to
I.P. Nichols wrote:

>
> 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

Allen Bauer

unread,
Jul 28, 2006, 11:32:48 AM7/28/06
to
"Chris Burrows" <cfbso...@hotmail.com> wrote in message
news:44c97aed$1...@newsgroups.borland.com...

> I'm experiencing a number of glitches with my Delphi (2006 + upd 2) apps
> when running on Windows Vista Beta 2. e.g.
>
> * 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?

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


Chris Burrows

unread,
Aug 2, 2006, 4:23:41 AM8/2/06
to
"Bernhard Geyer" <Bernhar...@nospam.de> wrote in message
news:44c9c589$1...@newsgroups.borland.com...

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.

Ross Hemingway

unread,
Aug 1, 2006, 11:09:17 AM8/1/06
to
>
>
>* Glyphs on TSpeedButtons / TBitBtns are not displayed
>
>

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.

Rolf Frei

unread,
Aug 3, 2006, 9:12:34 AM8/3/06
to
Allan,

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...

Ross Hemingway

unread,
Aug 3, 2006, 9:18:42 AM8/3/06
to

>* 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.
>
>

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

0 new messages