[DUG] BDS2006 and Delphi 2007

John Bird johnkbird at paradise.net.nz
Thu Mar 8 13:22:15 NZDT 2007


I can verify that most standard VCL stuff I have used under BDS 2006 does
run no problems on Win 9x.  I have tested programs on a Windows 95B PC,
which is even less functionality than Windows 98 in several areas :)

What DOES work under Win9x from BDS 2006:

I have used pretty much only standard VCL stuff and no any special graphics
stuff other than some canvas draw and colorbuttons (derived from Delphi
About.com Colorbutton), and some grid onDrawCell stuff.  Also the
HAHFindFiles component.  These all work properly.

I have also used some Win 2000 plus functionality such as transparent forms,
alphablend and the XP manifest, these are nicely ignored on Win9x (and
Server 2003 and RDP/TS I might add) so no problems there either - that is
programs using these just run without that functionality under Win9x etc.

What DOES NOT work:

I have used in some programs code based Rave reports (excellent btw) and
these do NOT run on Win 9x because of the graphics unit - somewhere in the
print preview it uses the missing DLL and complains about this on Win9x and
the program simply will not start.

I have not used the TControlBar,  Ttoolbar, TCategoryButtons,
TCaptionedDockTree mentioned below, so it looks like I have avoided the main
problem areas.

Also there are some Windows API calls that are Windows 2000 plus only.  With
you just have to read the API help carefully.   The one that I tripped up on
was GetLastInput and I used my one and only so far conditional compilation
to get around this:


{$IFNDEF jkblWin9x}
function TfrmTimwlog3.SecondsIdle: DWord;
var
   liInfo: TLastInputInfo;
begin
   liInfo.cbSize := SizeOf(TLastInputInfo) ;
   GetLastInputInfo(liInfo) ;
   Result := (GetTickCount - liInfo.dwTime) DIV 1000;
end;
{$ENDIF}

{$IFDEF jkblWin9x}
function TfrmTimwlog3.SecondsIdle: DWord;
begin
  Result:=0;
end;
{$ENDIF}

(That's useful to find out seconds idle since last keyboard or mouse
event)...

John

-----Original Message-----
From: delphi-bounces at ns3.123.net.nz [mailto:delphi-bounces at ns3.123.net.nz]
On Behalf Of Richard Vowles
Sent: Thursday, 8 March 2007 12:37 p.m.
To: NZ Borland Developers Group - Delphi List
Subject: Re: [DUG] BDS2006 and Delphi 2007


Jeremy North wrote:
> Hi,
>
> The reason some VCL code won't run under Win9X is because the new 
> GraphUtil introduced in D2005 and enhanced in D2006 includes a call to 
> the GradientFill API function. This function resides in a dll 
> (msimg32.dll from memory) that doesn't exist on Win9x. You can copy 
> the DLL to a Win9x box and it works however I'm not sure that is 
> within the ms license.
>
> I have no idea why RAVE doesn't work on Win9x as I don't use it. The 
> VCL uses the GradientFillCanvas function (which wraps GradientFill) in 
> TControlBar, TToolbar, TCategoryButtons and TCaptionedDockTree. If you 
> don't use these classes (or in the case of TControlBar and TToolbar 
> don't use the Gradient Style) then you should be fine under Win9x.
>
Lots of web sites seem to offer this DLL for download, and there is a 
chap here:

http://qc.borland.com/wc/qcmain.aspx?d=22256

Who has written enough of the missing function to allow it to work under 
95 and NT4 so...

Richard

-- 
Richard Vowles, Product Evangelist
Developers Inc Ltd (for Delphi, C++ Builder, JBuilder, InterBase) March
Codegear Seminars: http://tinyurl.com/25jxqk web.
http://www.developers-inc.co.nz ph. +64-9-3600231, mob. +64-275-467747, fax.
+64-9-3600384, skype. rvowles




__________ NOD32 1.1461 (20060329) Information __________

This message was checked by NOD32 antivirus system. http://www.eset.com





More information about the Delphi mailing list