Icon View Thread

The following is the text of the current message along with any replies.
Messages 11 to 13 of 13 total
Thread Dreaded Unit Compiled with Different Version error message after updating EDB.
Wed, Jun 11 2014 9:20 PMPermanent Link

Raul

Team Elevate Team Elevate

On 6/11/2014 7:07 PM, Adam H. wrote:
> 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?

Adam,

I think it has more to do with the timestamps of the pas/dcu files as
well as the unit dependencies.  If pas has changed relative to dcu
delphi will recompile a new dcu (i'm guessing here but the way installer
installs files might result in them getting newer timestamps so delphi
believes it should recompile the dcu from pas since pas is in your
project source path).

However now if some other dcu relies on this pas then that needs to be
be recompiled etc. So in your for example it found "edblockmgr" and
decided to recompile the dcu and then it looked at  "edbserver.dcu" and
since it depends on edblockmgr it says "i must also recompile edbserver
since edblockmgr has been updated " but of course it can't find pas for it.

You and I know the edbserver is really unchanged but since it has a
dependency on newer "edblockmgr.dcu" delphi has no way of knowing that
and just looks at timestamps of files and wants to recompile.

Anyways, that's my theory.

Raul
Thu, Jun 12 2014 7:04 PMPermanent Link

Adam H.

Hi Raul,

<Snip>
> You and I know the edbserver is really unchanged but since it has a
> dependency on newer "edblockmgr.dcu" delphi has no way of knowing that
> and just looks at timestamps of files and wants to recompile.
>
> Anyways, that's my theory.

Well, it sounds like a good one. Thanks for the help, and ave a great
weekend. Smile

Cheers

Adam.


Thu, Jan 15 2015 4:21 PMPermanent Link

Mark Elder

I know this thread is a bit old now, but I had the same problem and what solved it for me was to search my entire hard drive for any EBB*.*dcu files. This highlighted the fact that I had another version/set of files elsewhere that was being picked up by my project. I renamed that older folder to "xyz_bak". Additionally, in my library path, I had the "code\source" folder. You need the "code" folder but do *NOT* include the "code\source" folder in your library path.

Richard

"Adam H." wrote:

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.
« Previous PagePage 2 of 2
Jump to Page:  1 2
Image