Bad unit format

Hi there,


I have installed the TMS pack for Firemonkey on XE7.1

I have a project that targets Windows and Android

On Winodws it is working just fine.

When I compile to Android I get this:
[DCC Fatal Error] NaharFMXDateEdit.pas(6): Bad unit format: 'C:\Users\Dev\Documents\tmssoftware\TMS Pack for FireMonkey\DelphiXE7\FMX.TMSCalendar.dcu' - Expected version: 28.0, ARM(ARM) Found version: 28.0, Windows Unicode(x86)

I am using this pack on the main project. This error is happening in a bpl that i have created with my set of components.

Some of this components are based on the Firemonkey Pack.

for example:
  [ComponentPlatformsAttribute(pidWin32 or pidWin64 or pidOSX32 or pidiOSSimulator or pidiOSDevice or pidAndroid)]
  TNaharFMXDateEdit = class(TTMSFMXCalendarPicker, INaharControlAdapter, INaharControl)

On windows it is working this package and all the components, even the inherited ones.

But I cannot compile on XE7.1

Can  you help me?

Eduardo


Did you upgrade while the TMS Pack for FireMonkey was installed? If so, you will need to reinstall the latest registered version on XE 7.1 the dcu that are compiled in XE7 are binary not compatible with 7.1 on Mac OSX and mobile platforms.


Kind Regards, 
Pieter

Peter,


I have already updated. 

Before updating my main installation, I have installed a fresh copy of xe7.1 in VM and installed all the TMS components that I use. It did not work either. 

I have removed and re-installed again several times.

Please, what else can be done? 

Can you clean and rebuild your project, make sure that the correct library path is set.


Kind Regards, 
Pieter

already did it many times.


It seems to be related to the my package and the TMS components. I have no idea how to fix it. 

I just opened a demo application from TMS pack for firemonkey and it worked compiling to android.

So, it is only my package that is used on my project that is having problem with version of TMS package.

Not sure what to do, it was working on xe6. Probably not a XE6 maybe a path thing. But I dont understand why

Did you already recompile your package?


Kind Regards, 
Pieter

Yes I did, everything about clean/rebuild/compile already tried many times.


On windows it works, for android is not working.

I do not understand why.

I am not using the bpl installed from the setup anymore, it did not work either, i am trying to add the source file and make it compile the entire thing. 

However it dont do that. When compile my android app it does not find the propert dcu.

I dont know which paths should I use to make it work for both windows and android in a way that my package gets installed and usable by my project in both targets

You should reference only the source path, where the pas files are located. the DCU files for Windows are not compatible with the DCU files for Android. The library paths should be pointing to the same folder, only the one where the pas files are located.


Kind Regards, 
Pieter 
I have uninstalled and installed back again. 

These are the paths added by the installer. I have not added any other path, or changed directories

C:\Users\Dev\Documents\tmssoftware\TMS Pack for FireMonkey\XlsAdapter
C:\Users\Dev\Documents\tmssoftware\TMS Pack for FireMonkey\DelphiXE7
C:\Users\Dev\Documents\tmssoftware\TMS Pack for FireMonkey\

I have removed and installed again. and still not working for android.

It is frustrating. When I install the FlexCel things are just so easy. Why there is not the same care with this package? 

Did you check if these paths are also set for the Android target?
Actually, these paths should be set for each platform you want to use.

If the paths 
C:\Users\Dev\Documents\tmssoftware\TMS Pack for FireMonkey\XlsAdapter
C:\Users\Dev\Documents\tmssoftware\TMS Pack for FireMonkey\DelphiXE7
C:\Users\Dev\Documents\tmssoftware\TMS Pack for FireMonkey</div>
are also in your Android specific library path and you do a full build of your app, this should work.