Link to home
Start Free TrialLog in
Avatar of Marius0188
Marius0188

asked on

Delphi 7 :: Compiler error "Unit Themes was compiled with different version of UxThemes.BP_PushButton"

Dear Experts,

I have installed a component in Delphi 7.
The component name: "Dynamic DBTreeView v.1.3 Beta_dbtreeview"

It was all bugy and would not run the demo project of the component etc...
After I returned back to my project and want to compile I receive the fatal error compiler message.
(See message title).

I have repaired my installation of Delphi 7 but did not work.
I actually deleted the "themes.pas", uthemes.pas" and dcu's from Borland directory then
run installation again. It did replaced that files again but the problem still exists.

I am really mad because I am loosing valuable development time, as a result.

Please help.

Thanks in advance!
ASKER CERTIFIED SOLUTION
Avatar of 2266180
2266180
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
NOTE: beware of deleting cdus from units that you do not have sources for :) (like shareware stuff)
Avatar of Marius0188
Marius0188

ASKER

I have deleted the dcu's for themes and uthemes but still not working.
How can I determine which dcu's to delete?
well, you trace back the used classes. you will need to remove every single themes.dcu from any instance of its installation. same goes for UxThemes.dcu
keep in mind that since this is a beta, you will probably have the non-beta on the search path as well. a workaround would be to remove it from the search path but that is not a very certain solution.
btw, search path, as I said, it's from the environment and project settings:

- tools-environment options-library-library path and browsing path
- project-options-directories/conditionals-unit output directory, search path and debug source path

if there are too many directories there to search for, then just do a file search with some file manager for *theme*.dcu and you should get all dcus. hopefully :)
I have done just that.
Still the error.

Will re-installation of Delphi 7 help?
Ooh I am loosing so much as time, just as result of stupid component.
it might but there is no need to. you still have some dcu somewhere. 100%. if the component has uninstaller, uninstall it (se its readme as well). uninstall ALL versions you have.
SOLUTION
Avatar of Tomas Helgi Johannsson
Tomas Helgi Johannsson
Flag of Iceland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I forgot to mention that I haven't tried/tested the version 1.6 of Dynamic DBTreeView.

Regards,
  Tomas Helgi
Ok but now I got another compiler error:
"File not found: 'UxTheme.dcu' ".

What should I do now?
well, you should compile the component :) the right one ;)
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
I don't want the component anymore.
I have removed it and it wish to compile my project to continue as normall.


But I think I am going to re-install Delphi.
I am loosing too much time. I know it's the easy way out but for now it's what I need to do.

Thanks for help.

Hi,

It's a radical solution.  

Before uninstalling Delhi, did you try to delete the res file of your project (make a backup before if needed) but il normally will be recreated at runtime.

And at least, did you try to create a new project from scratch including in this new project each unit your inital project used.

Did you test if compiling a blank project gives the same error. Maybe a re-install isn't required.




I never reinstalled when had such problems. always deleting the right dcus and recompiling did the job. but then again I don't say that I've been through all possible situations that generate this kinf of error :)
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
tname, that is only needed when you remove a unit from the project and don't want to use it anymore. at the stage he got that error, he was still trying the "delete dcu" thingie. but your suggestion comes in handy if he gets the error after reinstalling which I believe he should have finished by now :)
>tname, that is only needed when you remove a unit from the project and don't want to use it anymore
I had the impression this is exactly what Marius did at some point.
>at the stage he got that error, he was still trying the "delete dcu" thingie
I'm not so sure about that, but maybe I'm misreading the thread's plot ;)
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial