| View previous topic :: View next topic |
| Author |
Message |
Andy Guest
|
Posted: Thu Dec 29, 2005 6:03 am Post subject: x64 and Delphi |
|
|
Can Delphi run and compile in x64 machines and OS?
Thanks
Andy
|
|
| Back to top |
|
 |
David J Taylor Guest
|
Posted: Thu Dec 29, 2005 10:05 am Post subject: Re: x64 and Delphi |
|
|
Jason wrote:
| Quote: | yes, delphi apps can run in x64 windows, but windows automatically
will run them emulated.
clear 64bit code can be only produced by Microsoft Visual Studio and
.NET 2
We are all waiting for Borland's 64bit native compiler. 2007+
|
What was the report about, then, which said that Delphi apps produced with
versions prior to Delphi 2006 didn't work correctly on Vista? Obviously,
if you're looking at near-future OSes both 64-bit and Vista might need to
be considered.
David
|
|
| Back to top |
|
 |
Danijel Tkalcec [RTC] Guest
|
Posted: Thu Dec 29, 2005 11:08 am Post subject: Re: x64 and Delphi |
|
|
"Jason" wrote:
| Quote: | I dont know any known issue that says Delphi 7 apps doesnt work on Vista.
I tested my app (D7) with a beta version of Vista. Everything looks ok,
emulated to 32bit.
|
When you say "emulated", it sounds soooo sloooow!
I'm not an expert in CPU design, but I would assume that a 64-bit processor
supports 32-bit and 16-bit instruction sets, so there is no emulation at
work. In any case, I run my apps compiled with D4-D2006 on one 64-bit AMD X2
4400 and I wouldn't say they run in some kind of an emulator.
A 64-bit app would have access to a larger set of asm instructions than a
32-bit app and thus have more possibilities for optimizing the code to run
faster. They will also use 64-bit pointers and have access to a much larger
address space to excede the 32-bit Memory Limit (2GB with default Delphi RTL
MM, up to 3GB with FastMM and special setup).
Or what did you mean by "emulated to 32bit"?
--
Danijel Tkalcec
http://www.deltasoft.hr/rtc/author.htm
|
|
| Back to top |
|
 |
Danijel Tkalcec [RTC] Guest
|
Posted: Thu Dec 29, 2005 11:11 am Post subject: Re: x64 and Delphi |
|
|
"Jason" wrote:
| Quote: | I dont know any known issue that says Delphi 7 apps doesnt work on Vista.
|
Or were you talking about Windows 64-bit?
Since 32-bit Windows supports 16-bit applications, I'd guess that 64-bit
Windows also supports 32-bit and 16-bit applications. So, there's no need to
panic.
--
Danijel Tkalcec
http://www.deltasoft.hr/rtc/author.htm
|
|
| Back to top |
|
 |
Danijel Tkalcec [RTC] Guest
|
Posted: Thu Dec 29, 2005 11:13 am Post subject: Re: x64 and Delphi |
|
|
Btw ... I should have quoted David, not Jason.
Didn't plan on starting a discussion with Jason,
simply replied to the last post in thread )
--
Danijel Tkalcec
http://www.deltasoft.hr/rtc/author.htm
|
|
| Back to top |
|
 |
Jens Gruschel Guest
|
Posted: Thu Dec 29, 2005 11:29 am Post subject: Re: x64 and Delphi |
|
|
| Quote: | When you say "emulated", it sounds soooo sloooow!
|
That's what I thought, too. "Emulated" is such a hard word. It makes me
think of some software, which executes the machine code of a program
like an interpreter. Like you I think that 32 bit applications cannot
use all possibilities of a 64 bit machine, but run like they would on a
32 bit machine (except maybe that it takes some additional instructions
to switch between a 32 bit process and a 64 bit process). I've heared
that 32 bit software even runs faster on 64 bit machines than on 32 bit
machines (although I think tests were made with a 32 bit OS on both
machines), but probably it's hard to compare because different CPUs do
different things differently. Anyway a 64 bit Delphi compiler would be
very nice (I'm not talking about .net).
Jens
--
Jens Gruschel
http://www.pegtop.net
|
|
| Back to top |
|
 |
Danijel Tkalcec [RTC] Guest
|
Posted: Thu Dec 29, 2005 11:38 am Post subject: Re: x64 and Delphi |
|
|
"Jens Gruschel" wrote:
| Quote: | When you say "emulated", it sounds soooo sloooow!
That's what I thought, too. "Emulated" is such a hard word. It makes me
think of some software, which executes the machine code of a program like
an interpreter.
|
)
| Quote: | Anyway a 64 bit Delphi compiler would be very nice (I'm not talking about
.net).
|
Same here.
I hope D2007 will be a 64-bit compiler. I don't like to think that
everything will have to be .NET in the future. Simply doing some Memory
Manager tests makes be feel creepy if I start to imagine how a Garbage
collector in .NET (like the one in Java) will be responsible for cleaning up
my Servers Memory when it "feels like it".
Anyone wrote any high-load Server software in .NET yet?
--
Danijel Tkalcec
http://www.deltasoft.hr/rtc/author.htm
|
|
| Back to top |
|
 |
David J Taylor Guest
|
Posted: Thu Dec 29, 2005 11:55 am Post subject: Re: x64 and Delphi |
|
|
Danijel Tkalcec [RTC] wrote:
| Quote: | "Jason" wrote:
I dont know any known issue that says Delphi 7 apps doesnt work on
Vista.
Or were you talking about Windows 64-bit?
Since 32-bit Windows supports 16-bit applications, I'd guess that
64-bit Windows also supports 32-bit and 16-bit applications. So,
there's no need to panic.
|
There was a thread recently (and I can't find it quickly right now) which
suggested that because of a Borland coding error, Delphi 2005 and below
programs would not display correctly on Win64. IIRC, the problem was
related to owner-draw parts of components. I was mistaking Win-64 and
Vista when I wrote earlier - and that's why I couldn't find it in Google!
Now I can:
http://groups.google.com/group/borland.public.delphi.vcl.components.writing.win32/browse_frm/thread/aad5c283cd13d46b/dbe90bb636da747b?lnk=st&q=delphi+Win64+ownerdraw&rnum=2#dbe90bb636da747b
There doesn't seem to be any suggestion that Borland are proposing to fix
this, other than saying recompile all your stuff in Delphi 2006, with all
the effort that might require. See: QC# 19859
[Noted that you meant me and not Jason]
David
|
|
| Back to top |
|
 |
Danijel Tkalcec [RTC] Guest
|
|
| Back to top |
|
 |
Danijel Tkalcec [RTC] Guest
|
Posted: Thu Dec 29, 2005 12:20 pm Post subject: Re: x64 and Delphi |
|
|
"Danijel Tkalcec [RTC]" wrote:
| Quote: | I have just checked the D2006 sources and here
is a snippet from the "Controls.pas" unit from D2006 ...
--------
procedure TWinControl.WMDrawItem(var Message: TWMDrawItem);
begin
if not DoControlMsg(Message.DrawItemStruct^.hwndItem, Message) then
inherited;
end;
--------
|
Delphi 7 has this same procedure implemented as ...
-------------
procedure TWinControl.WMDrawItem(var Message: TWMDrawItem);
begin
if not DoControlMsg(Message.DrawItemStruct^.CtlID, Message) then
inherited;
end;
------------
which the Newspost you reffer to suggests to be wrong.
I don't have D2005 source code, so I can't check there.
--
Danijel Tkalcec
http://www.deltasoft.hr/rtc/author.htm
|
|
| Back to top |
|
 |
David J Taylor Guest
|
Posted: Thu Dec 29, 2005 12:39 pm Post subject: Re: x64 and Delphi |
|
|
Danijel Tkalcec [RTC] wrote:
| Quote: | "Danijel Tkalcec [RTC]" wrote:
I have just checked the D2006 sources and here
is a snippet from the "Controls.pas" unit from D2006 ...
--------
procedure TWinControl.WMDrawItem(var Message: TWMDrawItem);
begin
if not DoControlMsg(Message.DrawItemStruct^.hwndItem, Message) then
inherited;
end;
--------
Delphi 7 has this same procedure implemented as ...
-------------
procedure TWinControl.WMDrawItem(var Message: TWMDrawItem);
begin
if not DoControlMsg(Message.DrawItemStruct^.CtlID, Message) then
inherited;
end;
------------
which the Newspost you reffer to suggests to be wrong.
I don't have D2005 source code, so I can't check there.
|
Delphi 5 has:
procedure TWinControl.WMMeasureItem(var Message: TWMMeasureItem);
begin
if not DoControlMsg(Message.MeasureItemStruct^.CtlID, Message) then
inherited;
end;
which is the same as Delphi 7.
Is there a resolution for this?
David
|
|
| Back to top |
|
 |
Daniel Alvarez Guest
|
Posted: Thu Dec 29, 2005 2:41 pm Post subject: Re: x64 and Delphi |
|
|
Delphi 4's one: (the same)
procedure TWinControl.WMDrawItem(var Message: TWMDrawItem);
begin
if not DoControlMsg(Message.DrawItemStruct^.CtlID, Message) then
inherited;
end;
Daniel Alvarez
"David J Taylor" <davidtaylor (AT) writeme (DOT) com.not-this-part.invalid> wrote in
message news:43b3d8a6$1 (AT) newsgroups (DOT) borland.com...
| Quote: | Danijel Tkalcec [RTC] wrote:
"Danijel Tkalcec [RTC]" wrote:
I have just checked the D2006 sources and here
is a snippet from the "Controls.pas" unit from D2006 ...
--------
procedure TWinControl.WMDrawItem(var Message: TWMDrawItem);
begin
if not DoControlMsg(Message.DrawItemStruct^.hwndItem, Message) then
inherited;
end;
--------
Delphi 7 has this same procedure implemented as ...
-------------
procedure TWinControl.WMDrawItem(var Message: TWMDrawItem);
begin
if not DoControlMsg(Message.DrawItemStruct^.CtlID, Message) then
inherited;
end;
------------
which the Newspost you reffer to suggests to be wrong.
I don't have D2005 source code, so I can't check there.
Delphi 5 has:
procedure TWinControl.WMMeasureItem(var Message: TWMMeasureItem);
begin
if not DoControlMsg(Message.MeasureItemStruct^.CtlID, Message) then
inherited;
end;
which is the same as Delphi 7.
Is there a resolution for this?
David
|
|
|
| Back to top |
|
 |
Roy M Klever Guest
|
Posted: Thu Dec 29, 2005 3:06 pm Post subject: Re: x64 and Delphi |
|
|
Hi Danijel,
| Quote: | Since 32-bit Windows supports 16-bit applications, I'd guess that 64-bit
Windows also supports 32-bit and 16-bit applications. So, there's no need to
panic.
|
As I have understood it, Windows 64 will no longer support 16 bit
applications and 32 bit application will run like 16 bit applications
run on 32 bit Windows today WOW. Windows on Windows emulation mode.
This is what I have made out of the info I have found.
Kind Regards
Roy Magne Klever
www.rmklever.com
|
|
| Back to top |
|
 |
David J Taylor Guest
|
Posted: Thu Dec 29, 2005 3:17 pm Post subject: Re: x64 and Delphi |
|
|
Roy M Klever wrote:
| Quote: | Hi Danijel,
Since 32-bit Windows supports 16-bit applications, I'd guess that
64-bit Windows also supports 32-bit and 16-bit applications. So,
there's no need to panic.
As I have understood it, Windows 64 will no longer support 16 bit
applications and 32 bit application will run like 16 bit applications
run on 32 bit Windows today WOW. Windows on Windows emulation mode.
This is what I have made out of the info I have found.
Kind Regards
Roy Magne Klever
www.rmklever.com
|
Yes, indeed, and the general findings are that applications run just as
quickly as before, if not perhaps a little faster because of a more
efficient OS.
However, it seems that Delphi applications prior to those compiled with
Delphi 2006 may not display correctly because of an error in the Borland
runtime library.
David
|
|
| Back to top |
|
 |
Danijel Tkalcec [RTC] Guest
|
Posted: Thu Dec 29, 2005 3:43 pm Post subject: Re: x64 and Delphi |
|
|
"David J Taylor" wrote:
| Quote: | Roy M Klever wrote:
Hi Danijel,
As I have understood it, Windows 64 will no longer support 16 bit
applications and 32 bit application will run like 16 bit applications
run on 32 bit Windows today WOW. Windows on Windows emulation mode.
Yes, indeed, and the general findings are that applications run just as
quickly as before, if not perhaps a little faster because of a more
efficient OS.
|
It was nice from Borland to start supporting 32-bit applications from D2. I
hope they will continue this good tradition and include a 64-bit compiler
with D2007 )
I like the .NET idea, but I don't think it will ever be able to fully
replace the power of Win32/64.
Some applications don't need the possibility to run on different platforms,
while some will only be hindered by the Garbage collector in .NET (same as
in Java).
I've witnessed Java apps which started to crawl after running for a couple
of months and swallowing all available RAM, going after Virtual Memory (hard
drive).
--
Danijel Tkalcec
http://www.deltasoft.hr/rtc/author.htm
|
|
| Back to top |
|
 |
|