Wednesday, August 12th, 2009

Delphi 7 and Windows 7

As you can see in this blog, I recently started programming again in Pascal, eh, Delphi Object Pascal. The version I use (since it is the last version close to traditional Windows programming) is version 7. The best version to use  is the version that floats around as Delphi 7.2 Second Edition (search a torrent site) which is a trimmed and bugfixed small package.

Of course this package runs fine on Windows XP. But how on Windows 7?

This is how I got it to work.

Installation

  • Make sure you run this as administrator,  you will need the privs.
  • Run the Delphi installer. Use defaults for the file locations, ignore the incompability warnings.
  • Dont start Delphi 7 as it will complain when starting a project  about unable to rename delphi32.$$$ to .dro in the /program files/delphi directories . And something about debug options requiring a change.
    So there are access problems, as to be expected. Windows 7 is a lot more robust, so directories are better protected.

Solve the access problems

  1. Run this as administrator.
  2. Open the properties on c:/program files/delphixxx directory.
  3.  On the first tab Clear the Read-only attribute and press Apply for all files including subdirectory.
  4.  Open the security tab
  5. Give users (and admins if necessary) full access to  c:/program files/delphixxx directory   

Now Delphi can be used to write programs again.

Edit August 2010: Windows 7 64 bit is also not a problem. Delphi is installed in C:\PROGRAM Files (X86)

Fix Winhelp

Help does not function, a windows pops up telling “winhelp is not supported anymore on this Windows version, go to microsoft.com for a fix” .
The fix for Vista is already made, the Windows 7  fix will be here Real Soon Now. 

Edit january 2010:  Search ‘ Windows Help program (WinHlp32.exe) for Windows 7′ on microsoft.com, currently here ,  install that and you do not need the next trick.

So this will be fixed in the future, but for now it can be solved as follows.

  1. Remove the Read-only attribute from winhlp32.exe and winhelp32.exe in c:/windows
  2. Set  ownership of the winhlp32.exe file (properties, security tap, advanced)  to administrators (and remember, you are logged on as admin!)
  3.  change the security to full control
  4.  rename winhlp32.exe to something like winhlp32old.exe just in case
  5. copy from a Windows  XP system the files winhlp32.exe and winhelp.exe in c:\windows

Now help functions also.

50 Comments on “Delphi 7 and Windows 7”


  1. Perfect fix – thanks very much!!!!


  2. Hi writer.

    i was just looking for this problem of windows 7 and delphi 7.
    Now solved. Thanks a lot.

    from Bayan Ulgii / Mongolia.

  3. Jason
  4. C. Ulker

    Saved me a lot of time. Thanks for the tip.

  5. barny

    fine good solution

  6. Mark

    Thanks for sharing! My Delphi7 is now working!

    Big help!

  7. Har'$

    i have problem with delphi 7 . when i am trying to open or save any file , or project my delphi exe is closed without any error. so i am not able to do anything .
    Thanks in advance


  8. The default location for projects is in the program files/delphi directory. It seems you did not get the right permissions to write there.
    Try to give read access for users to the program files AND all directories underneath and read/write to the delphi directory.

    Its a bad idea btw to keep data in program files, so I would suggest an alternative working directory for your project anyway.

  9. Matt

    Thanks a lot! I use Delphi regularly and have just upgraded to Windows 7 and was initially gutted when I couldnt use Delphi 7.
    Many thanks!

  10. Zink

    Thanks for the tutorial, my Delphi 7 now works again :). I also have the help working without replacing any files (just installed KB917607-x64 which is WinHlp32 from MS website).

    One thing that is still bugging me is opening the last project at startup. It worked on XP, but on 7 it always opens with a new project instead of the last one. Luckily, it keeps the history for opening button correctly, so it’s not a big problem. Is there anything I can do about it?


  11. Thanks for reporting the success. Looks like still a security issue, Delphi not remembering last project.

    The help file fix appeared after I wrote the orginal blog, I did edit in the now available help file KB article for X86.
    Since you mention -x64 I assume Delphi works on Windows 7 64 bit?

  12. Zink

    Oh, I’m sorry, it was my mistake – I forgot to select “Auto-save project desktop” (it has been long time since I installed D7 for the last time, and I simply forgot what that option did) :).

    Yes, for the most part it works on W7 64-bit (compiling, running and debugging 32-bit applications). There are some issues, but not essential, they are:
    – occasional IDE crash (happened only two times to me: first right at the running (it was before I have set up directory permissions and WinXP compatibility mode), and second time was after I tried opening about 10 projects one after another, so it is probably not going to occur frequently,
    – in one of my projects (and only one) it displays “[Error] RLINK32: Error opening file “ConvTbl.dfm”" during the first run, but I just press Run again and it works perfectly from now on.

    That’s it. I have tried debugging (not thoroughly however) and haven’t noticed any g-glitches.

  13. dowex

    thanks for the tips..
    so, I can solve my sister problem with Delphi..


  14. [...] muchas explicaciones de como hacerlo, así que me hice este How To. Lo básico lo extraje del blog de Hans y del usuario AngelF de DelphiAccess, el resto fueron pruebas [...]

  15. Debbie Erickson

    Hi! Do you have any tips in how to make apps that are compiled in Delphi 7 to work on Windows 7? My development machine is an XP. If I install my compiled app in Windows 7, the VCL goes crazy. In one app, I have a simple form with a few edit boxes, a radio group box and two bitbuttons. The radio group box is not visible in Windows 7 at all. And sometimes the windows in the other apps show scrollbars, even when I set the Maximize property at runtime. Basically the VCL controls do not work at all like they did in Windows XP.

  16. Dennis

    Works great on Windows 64 bit!

  17. Daniel

    I’m using now Windows 7 64-bits. Installed Delphi with no problems.

    I just needed to change an old DLL I already programmed and tested under Windows 7 32-bits.
    Delphi seems to compile the DLL, but caller software just hangs after I close the DLL’s form it contains.
    The only way to avoid this is Re-Building the entire project’s DLL (which requires a lot more time). Also, If I try to launch the software using Run option in Delphi 7, the software that is configured in Parameters to call the DLL runs, but can’t call the DLL at all (nothing happens).

    I’m using a HP dv6-3160us (AMD Phenom Quad).

    Anybody knows how to fix this? If I recompile the same DLL on my old Acer with Windows 7 32-bits it works just fine (I get the DLL to the Windows 7 64-bits and works just fine… the DLL compiled on Windows 7 64-bit don’t work on both machines (causes the caller EXE to hang, tested with same exe on both systems).

  18. PooyaDP

    Thanks a lot, Saved me a lot of time.


  19. Thanks
    Is Application developed with Delphi 6/7 and BDE running well on Windows 7?

  20. Ian

    I have delphi 7 ‘running’ on windows 7 BUT I can not view or edit any forms. When I look under the ‘view’ tab the ‘toggle unit/form F12 is greyed out. Can you suggest any reason why this should be so and how to fix it?


  21. check the security of the delphi 7 folders in program files!


  22. I am quite satisfied with Delphi 7 in Windows 7 (32 and 64 bit).

  23. Boney

    Hi there,

    Do you know how to Debug a Delphi COM dll in windows 7? Usually we have to add the process id for debugging (if using XP). I have no idea what to do with windows 7.

  24. Alexander

    Thanx alot man…my D7 is working just fine now,thanx to you…

  25. TNM

    During compiling, if rlink32.dll is requird to open any type lib, it was just stopping me in win7. It’s just now sorted out. Thanks a million Hans !

  26. Vamshree

    Works great.. Thanks Hans..it solves my problem.

  27. raana

    hello
    please help me.
    i need to install delphi 7 on windows 7-64bit.please explain for me step by step.becuse i am begginer in programing.
    thanks.

  28. dani

    Works! Thanks for help!!

  29. Jan

    Solved problem for me!
    Thanks and greetings from Slovenia!

  30. Ali

    thank u so much it relly work and i dont no how i can thank u!
    good luke man!

  31. cosacam

    Hi there
    I’m about to start using Windows 7 for the first time. I wonder if I program with Delphi 7 on Windows 7, the programs I make can run on Windows XP or Windows 2000 ? (my company PCs don’t have Windows 7)
    Thanks


  32. Hi Friend,
    thank you so much,,,,it’s very very nice and helpfull posting,,,
    Now, I can use my delphi 7 as good as running on XP.
    Nice to share with u,,,

  33. GPhx

    Great help. Thanks.


  34. Yes, the programs you amke on Widnows 7 will run on XP or Windows 2000.


  35. Thanks for this. Installing d7 away from \program files\ takes care of most of the issues, I run in Xp compat mode and with as-admin privileges just to be on the safe side.

    In spite of that, I encountered three issues which luckily don’t bite everyone:

    a) BORdbk70.dll was missing. I put it in \bin manually and registered it with regsvr32.exe, .i.e. run cmd.exe as administrator, go to delphi7\bin and type regsvr32 bordbk70.dll

    b)My IDE was not displaying forms with F12 etc. The fix I eventually found after many false starts with Google was to run bin\D7RegClean as-admin, which cleans the registry out. Then run the installer again (as-admin to be on the safe side) and select “repair” install. It takes only moments and certainly fixed it. Course I needed to reinstall all those component packages and library and path settings again. “Oh well”.

    c)


  36. c) As I have an internal multi-card reader a known-and-annoying Delphi bug was causing “disk not present” errors all the time for any of the slots without a card in it. Tried moving drive letters around, but theonly successful way to fix it was to DISABLE unwanted or unpopulated slots in Device manager.


  37. [...] dass entweder nicht geschrieben werden durfte in die Subdirectories des Program directores … http://weblog.hansotten.com/?p=833 [...]

  38. Cromulent

    Fantastic Hans. I just executed the instructions and it worked like a charm.

  39. Muhammad Zaid

    THANK YOU SOOOO MUCH!
    BIG HELP MAN!

  40. hamid

    thanks for jason

  41. Frank Steyvers

    Yes! It works! Super, thanks!


  42. Thanks a lot.
    I can now rest from the hustles on working with xp-mode n win 7

  43. DUC

    Thanks!

  44. hamed

    thank you so much… great help

  45. Petya

    Hi Hans,
    I would ask you if you know how i can resolve the problem with this error : “Access violation at address 06E9304E in module Bordbk70.dll read of address ..”
    This error appears when i am debugging the project.and after this a have to restart the Delphi.
    The message began to appear when i installed Delphi 7 on Windows 7(64). When i was working on Windows XP wasn’t have this problem. Nothing was help to rid of this nasty error :(


  46. hi
    can I use the same steps to run delphi 5 on windows 7?
    hope u give me answer as soon as possible
    thanx

  47. davi

    Thanks, Hans, much appreciated.

  48. Gustavo

    Delphi 7 Windows 7 32 Professional not responding after I try to build a Project, I can run it but some time this is not an opción because I don’t have lets say all the serial ports and I just need to créate the Project and that’s it.

  49. alex

    Hi Hans
    actually my problem is i can’t run the exe that i created in delphi 7 on windows 7 platform. The error is [check for online solution,debug,close the program] and then if we close another error message from delphi as[exception EDBengineError in module xx.exe at 000B9426.Unknown username or password. unavailable database.aliasname xx]
    kindly go through this and give me an answer. it’s urgent

  50. Greg Leonard

    Hans,
    You have saved me from disaster. A forced migration from XP to Windows7 caused Delphi to fail. Following your suggestions, I now have it running fine.
    Thank you.

Leave a Reply

*