Import of 3.5.9 solution in 4.1.1

Hi,

I am migrating from 3.5.9 to 4.1.1.

When i import my solution and then check it out, i see a lot (Hundreds) of warnings like :

Property onDataChangeMethodID from element calc_netto_prijs in form bvko_navVerkooporderregelsPrim_lst is linked to an entity that doesn't exist.

or ```
Property onDataChangeMethodID from element el_inkospcrgl_prodart_prod in form bvko_navOO_InkoopspecregelsPrim_lst is linked to a non accessible method ( method belongs to form bvko_navInkoopspecregelsPrim_lst ).


When i look at the element in 3.5.9 there is no onDataChange in this element. It is very possible that there was an onDataChange on this field in 3.5.9
in the past, but it was removed at a later stage.

For the second warning I am sure that the form bvko_navInkoopspecregelsPrim_lst was copied (in 3.5.x) to bvko_navOO_InkoopspecregelsPrim_lst and then the onDataChange on bvko_navOO_InkoopspecregelsPrim_lst was removed.

It looks like it is not completely removed in 3.5.9 and 4.1.1 still sees (part of) a reference.

Is this a know issue ??

Regards,

Hans

Hans,

This issue I also noticed.

What you have to do, is reassign the methods again (or put them on -none-) again in 3.5.9.
Then the next time when you import the 3.5.9 solution into 4.1.1 the warnings are gone.

I had the same. These warnings in some cases showed me problems that are in 3.5.9 but they were never shown.
By these errors/warnings I could solve the corruption in the 3.5 repository.
Now I’ve several times imported my 3.5 into 4.1.1 for testing without errormessages and now these messages are gone.

You’ll just see that the first time you enter the 4.1.1 you see hundreds of warnings again after you do a checkout in Eclipse.
Quit the Eclipse and restart Servoy and these messages are also gone.

At the moment it is the bug in 3.5.9 / 4.1.1 with style sheets that blocks me to migrate to 4.1.1
For the moment I stay on 3.5.8 until next version is released and I’ve tested the style sheet issue.

Martin

Martin,

Thanks for your info.

Can you describe what the stylesheet issue is ??

Regards,

Hans

This is expected behavior: In 3.x and also in 4.x: when you have assigned a method to one of the events of, for example, a field and later you just remove the method, this will not trigger the removal of all locations where the method is used. In other words, the references will not be cleared.

Reason for this is for example when the method resides in a module of your solution and you are moving things around and you forget to include the needed module. In such cases, it would be terrible if Servoy would automatically clean up references. Instead, Servoy gives you warnings, so you know you broke something.

As for a lot of errors/warnings on first import: Are you seeing this still in the lastest release of 4? If so, can you create a case for that?

If you do have this issue still, for now you can also call “clean” from the “Project” menu in Servoy Developer. This will trigger a so-called build process, in which all references are evaluated again. So, you don’t need to restart Servoy Developer.

Paul

Paul

The problem is not 4.1. I think the problem is 3.5. There are some references (partially) lost.
After reassigning the correct method (let’s say onAction, onLoad, onShow etc) in 3.5 and then import in 4.1 then the warnings are gone.
Even when in 3.5 it looks like the correct method is assigned, then 4.1 gives warning.

When having such an error, in 3.5 I first put -none- to the event, save button and next assign the correct method to the event (even when the correct method was already shown in the properties) and save again.
When you do this, the import in 4.1 doesn’t give any messages anymore.

I reassigned all my methods that gave warning, so I don’t have any example solution anymore where it occurs.

Martin

Hi Paul,

Indeed, I checked with my collegue and he copied forms in 3.5.x

Those forms had (for instance) onDataChange and onLoad methods connect to some fields.

The copie of a form does not copie the forms methods, but as i notice now in 4.1.1
the reference to the method is still there.

In 3.5 you never see that.

Thanks i can now resolve this.

Regards,

Hans