License Delivery maintenance is expected to occur on Saturday, November 30, between 8 AM and 11 AM CET. This may cause a short 3-hours outage in which license-related tasks: license key upload, download, update, SSA validation, access to the license pool and Graphisoft ID authentication may not function properly. We apologize for any inconvenience.
Archicad C++ API
About Archicad add-on development using the C++ API.

Corruption of plan files

Anonymous
Not applicable
Hello,

I have a problem where sometimes when a draftsperson saves their drawing the pln that is created is corrupted. Its like none of the databases apart from one elevation database have been saved. As if this elevation database was saved over the floorplan database.

I can send someone a plan file if they want to look - the forum won't let me post it because zipped its 300k, ie > 256.

This happens rarely (twice in the last 70 drawings modified) and I am unable to recreate the error, it could however be quite a serious problem.

I have my own save and presave notification handlers in my apx that do various things before and after a drawing is saved. I am currently in the process of going through this code line by line, time after time in the hope that I am not using pointers correctly somewhere.

Are there any known bugs regarding this?
Does anybody know why this might be happening?
Could this sort of thing happen in version 9?
Is there some way I can check if a save worked? For instance, we _always_ have 4 elevations, so given a plan file is there some low level way I can tell how many elevations it has without opening it?

We are using ArchiCAD 7 R3 AUS
(we will be upgrading to v9 over the next few months)

Please, any suggestions how to fix this would be very useful.

Thanks,
Adam
1 REPLY 1
Anonymous
Not applicable
Fixed it - it took me all day to reproduce the bug but I've done it.

This happens when a user is looking at an elevation then they click my apx's button on a palette which calls some dodgy code. Then they click the save button.

This is what the 'dodgy code' did:
* Remember which database we are currently using
* Change window and database to the floorplan
* Do some processing
* Change back to the database we were using before

I think that because it changed the database back to the elevation database but did not change the window back, ArchiCAD thought that the elevation database was the floorplan database and saved it as such. Seems a bit dodgy but now that I don't bother to restore the previous database it works and I'm very happy.