Page 1 of 1

Installation problem

Posted: Wed May 14, 2014 10:34 pm
by JonH
I'm trying to use madExcept on a Windows XP Pro sp3 system running Delphi 7. When I enable madExcept for a project and try to compile it I get :"Fatal Error: Unit madExcept was compiled with a different version of Windows.CreateProcessW"

Re: Installation problem

Posted: Thu May 15, 2014 7:14 am
by madshi
Did you happen to modify Windows.pas somehow? Which Delphi 7 version do you have installed (Help -> About)? Mine says Build 4.453.

Re: Installation problem

Posted: Fri May 23, 2014 11:14 pm
by JonH
Not that I'm aware of, my windows.pas is 1218610 bytes and has a modified date of 8/28/08
This version shows Delphi Enterprise Lite Edition v7.3.3.0 (Build 8.1)
I think I recall this version had a bunch of tweaks and patches applied, so that may be the cause of the error.
I'll have to dig out my original Delphi 7 disks and do a clean install from them and see if it works then.

Re: Installation problem

Posted: Sun May 25, 2014 7:41 am
by madshi
There are 2 other things you could do as an alternative:

(1) You could do a full cleanup, just to be safe that there's no old DCUs flying around somewhere which are causing the problem. The cleanup should work like this:

- uninstall madCollection
- search harddisk and registry for mad*.* and delete everything that belongs to madCollection
- start Delphi to make sure it starts ok with no complaints and no traces of madCollection left
- stop Delphi and reinstall madCollection

Does that make the problem go away?

(2) You could simply copy all the needed madCollection pas files into your project folder. Or you could tell Delphi to also compile the madExcept\Sources folder (and madDisAsm\Sources and madBasic\Sources). This is not a really nice solution, though.

Re: Installation problem

Posted: Mon May 26, 2014 5:17 pm
by JonH
I tried the first suggestion and got the same error. I tried the second but since I just have the free version it doesn't have the source for madExcept and so it gave the same "Unit madExcept was compiled with a different version of Windows.CreateProcessW" error.
Here is the declaration of CreateProcessW in my Windows.pas:

Code: Select all

function CreateProcessW(lpApplicationName: PWideChar; lpCommandLine: PWideChar;
  lpProcessAttributes, lpThreadAttributes: PSecurityAttributes;
  bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer;
  lpCurrentDirectory: PWideChar; const lpStartupInfo: TStartupInfoW;
  var lpProcessInformation: TProcessInformation): BOOL; stdcall;
I just compared it to another Delphi 7 Pro install which has

Code: Select all

function CreateProcessW(lpApplicationName: PWideChar; lpCommandLine: PWideChar;
  lpProcessAttributes, lpThreadAttributes: PSecurityAttributes;
  bInheritHandles: BOOL; dwCreationFlags: DWORD; lpEnvironment: Pointer;
  lpCurrentDirectory: PWideChar; const lpStartupInfo: TStartupInfo;
  var lpProcessInformation: TProcessInformation): BOOL; stdcall;
So it looks like in my system lpStartupInfo is of type TStartupInfoW while in the other system its of type TStartupInfo.
I wonder if this was a bugfix, I found sample code on the internet showing that some newer Delphi versions used TStartupInfoW.

Re: Installation problem

Posted: Mon May 26, 2014 9:49 pm
by madshi
Well, I'm not sure, but it seems that the Delphi complaint is correct, although quite annoying in your case. At this point I don't really know how to help you. Since you're the only user who has ever reported this problem it seems that your Delphi 7 installation is somewhat "special". I can only create precompiled DCU files for the standard installation.

Re: Installation problem

Posted: Tue May 27, 2014 11:27 pm
by JonH
I did a plain install of Delphi 7 Pro without patches and it works without the error, so I should be good for now, thanks.

[Solved] Re: Installation problem - Unit madExcept was compiled with a different version of Windows.CreateProcessW

Posted: Sun May 22, 2022 5:18 pm
by PizzaProgram
JonH wrote: Wed May 14, 2014 10:34 pm ...running Delphi 7. When I enable madExcept for a project and try to compile it I get :
"Fatal Error: Unit madExcept was compiled with a different version of Windows.CreateProcessW"
I have experienced just the same under pathed+modded+enhaced Delphi 7 Enterprice 7.3.4.3 Light Edition. Release year: 2011
( Downloaded from here: https://www.code-projects.net/delphi-7- ... k-7-3-4-3/)
OS: Win7 32bit Hungarian running in a VirtualBox.

Have spent 2 days to install all components, and had to re-start because MadExcept did not work at the end.
I have all the source code available, but could not fully re-compile, because some components had errors and did not build.
(For example `madExceptWizard_.dpk`complained about `madExceptBitmaps.res` "Too long line, ... truncated" error.)
Also didn't know how to recompile the `.bpl` files and re-integrate into the IDE.

The Solution
was to uninstall D7 and delete everything,
than re-install Delphi 7.3, but without the special dcc32 "speedup" options, just the normal, old `dcc32.exe` .

All the other patches and enhancements can stay checked, it works fine :-)

Re: Installation problem

Posted: Mon May 23, 2022 1:46 pm
by madshi
Interesting, I didn't even know there were dcc32 speedup options available for Delphi 7... :shock: