Login ProductsSalesSupportDownloadsAbout |
Home » Technical Support » ElevateDB Technical Support » Support Forums » ElevateDB General » View Thread |
Messages 1 to 10 of 13 total |
Dreaded Unit Compiled with Different Version error message after updating EDB. |
Tue, Jun 10 2014 2:01 AM | Permanent Link |
Adam H. | Hi,
After updating ElevateDB I'm getting the error: [DCC Fatal Error] edbcomps.pas(38): F2051 Unit edbserver was compiled with a different version of edblockmgr.TEDBLockManager.MaxSesionError I only have the standard version of DBISam, so don't actually have edbserver.pas It breaks in edbcomps.pas on: {$IFNDEF EDB_NOSERVER} edbserver, {$ENDIF} I have tried: - Uninstalling all EDB installations, - Manually deleting the EDB Installation directory - Manually deleting all edb*.dcu files - Reinstalling EDB fresh .... but the problem remains. I'm using Delphi XE2 (32bit). The error even occurs on a blank project if I drop one EDB component on it and do a compile (or build). Obviously I've missed something somewhere, but I can't figure out what else to do. Can anyone see what I'm missing? I was originally on EDB 2.11 I've tried updating to both EDB2.17 and also EDB2.15 (for something different) but both break. Thanks & Regards Adam. |
Tue, Jun 10 2014 4:26 AM | Permanent Link |
Adam Brett Orixa Systems | Adam H.
The problem _must_ relate to a compiled delphi unit. i.e. a dcu. or a bpl file. One of these exists which was compiled with a prior version of EDB, and this is causing the conflict. That is the only way it can happen as I understand it. I would recommend a small-but-beautiful tool "UltraSearch" (www.jam-software.com/ultrasearch) to search for all these files fast, then you can delete them. It sounds as though you have tried hard to do this already, but I _think_ you must have missed something. Adam |
Tue, Jun 10 2014 6:00 AM | Permanent Link |
Uli Becker | Adam,
in addition to Adam's answer: also *.pas files can cause this error if the library path in Delphi points to an old directory with such files. From an earlier post by Tim: << Hi, I'm just moving to the latest version and I'm getting the following when I compile [Fatal Error] edbcomps.pas(23): Unit edbcommon was compiled with a different version of edbconsts.SOperationAborted >> Make sure that everything is uninstalled and removed from the installation directory, and then re-install 1.08. There is the possibility that 1.07's uninstall will leave some .pas files around that may cause this issue. This will be corrected in 1.09. Hope the helps. Uli |
Tue, Jun 10 2014 6:45 PM | Permanent Link |
Adam H. | Hi Adam,
> It sounds as though you have tried hard to do this already, but I _think_ you must have missed something. Thanks for the recommendation. I believe you're right - there has to be something still remaining, but I don't know what to search for... I've searched for all edb*.dcu files, edb*.bpl, edb*.pas and have deleted the elevate directory after doing an uninstall before installing the new version. There must be a file somewhere called something else that I'm not aware of, but I don't know what it would be called or what I should be looking for... I've searched for elevate*.dcu elevate*.bpl and elevate*.pas but there's nothing on my machine resembling these... Cheers Adam. |
Tue, Jun 10 2014 8:44 PM | Permanent Link |
Adam H. | Hi Uli,
Thanks for that. I've scanned for .pas files too, but no cigar. Cheers Adam. |
Tue, Jun 10 2014 9:05 PM | Permanent Link |
Adam H. | Finally found the problem!
It wasn't to do with any previously compiled units at all. The problem was that the source directory was being picked up by the compiler. Apparently the .pas files in \code\source compile differently and create a new edbcomps.dcu file that is different / not compatible with the .dcu files in the \code directory. Eliminating the source directory from the compiler search paths has corrected the problem. |
Tue, Jun 10 2014 9:29 PM | Permanent Link |
Raul Team Elevate | On 6/10/2014 2:01 AM, Adam H. wrote:
> After updating ElevateDB I'm getting the error: > > [DCC Fatal Error] edbcomps.pas(38): F2051 Unit edbserver was compiled > with a different version of edblockmgr.TEDBLockManager.MaxSesionError it looks like its finding a edbserver.dcu that does not match your delphi edition and/or platform (32/64) so i'd search for edbserver.dcu. I have 2 of them - one under 32 and one under 64 bit folders: - 32 bit edbserver.dcu is dated Friday, May 16, 2014, 10:22:08 AM and size is 123,040 bytes ( - 64bit is Friday, May 16, 2014, 10:22:36 AM and 204,226 bytes Also as of 2.17 there is no longer separate Unicode and non unicode versions so you should have just "RAD Studio XE2 (Delphi Win32)" and "RAD Studio XE2 (Delphi Win64)" folders under your install folder (in something like "c:\program files\ElevateDB 2 <edition>"). > I'm using Delphi XE2 (32bit). I dug out my XE2 vm and installed the 2.17 on it (32bit exe, 64bit exe and utils) and everything works OK (i do have source code edition though but it's not trying to recompile any of the pas files though). What EDB files you do have ? Mine has : The install itself ("c:\program files\ElevateDB 2 <edition>" with 32 and 64 bit subfolders) "c:\program files\ElevateDB 2 ADD" or such for utilities "C:\Documents and Settings\All Users\Documents\RAD Studio\9.0\Bpl": - edbutilcompsdesign.bpl "C:\Program Files\Embarcadero\RAD Studio\9.0\bin": - edbrun217rsdelphiwin64xe2.bpl - edbrun217rsdelphiwin32xe2.bpl C:\Documents and Settings\All Users\Documents\RAD Studio\9.0\Dcp: - edbutilcompsdesign.dcp Raul |
Tue, Jun 10 2014 11:59 PM | Permanent Link |
Adam H. | Hi Raul,
Thanks for your reply. I found the problem in the end, but it wasn't related to rogue DCU files... The problem was that the 'source' directory was being picked up by the compiler. Apparently the .pas files in \code\source must compile differently the compiler was using edbcomps.pas instead of edbcomps.dcu which appear to be incompatible. (I'm guessing previous versions weren't)? Either way - eliminating the source directory from the compiler search paths has corrected the problem. Hopefully this helps someone else in the future when looking for the issue. Adam. |
Wed, Jun 11 2014 9:20 AM | Permanent Link |
Raul Team Elevate | Thanks Adam
This is useful to know. On 6/10/2014 11:59 PM, Adam H. wrote: > Apparently the .pas files in \code\source must compile differently the > compiler was using edbcomps.pas instead of edbcomps.dcu which appear to > be incompatible. (I'm guessing previous versions weren't)? Since it found the pas file it will always try to compile it (i've used this behavior in the past of dropping one or more DBISAM pas files with custom changes into my project to force it to use it). So the issue would be due to common shared unit that now has 2 different dcu signatures i guess. Since it works we can leave it. Raul |
Wed, Jun 11 2014 7:07 PM | Permanent Link |
Adam H. | Hi Raul,
> Since it found the pas file it will always try to compile it (i've used > this behavior in the past of dropping one or more DBISAM pas files with > custom changes into my project to force it to use it). So the issue > would be due to common shared unit that now has 2 different dcu > signatures i guess. Since it works we can leave it. Although I would have thought that the dcu should have been the same as the one generated when the .pas file was compiled. The only thing I can think of is that maybe the .pas file references to the full / server version where the .dcu doesn't which could make it incompatible. (I've only got the standard version of EDB and not the full server version). Maybe the wrong .pas file was included in the standard distribution? Cheers Adam. |
Page 1 of 2 | Next Page » | |
Jump to Page: 1 2 |
This web page was last updated on Sunday, May 5, 2024 at 10:18 AM | Privacy PolicySite Map © 2024 Elevate Software, Inc. All Rights Reserved Questions or comments ? E-mail us at info@elevatesoft.com |