11-30-2016 02:48 PM - edited 11-30-2016 02:49 PM
Today I re-installed LabVIEW 2016 64-bit to attempt and fix a problem in a medium sized Actor Framework project that I've been working on. Unfortunately I do not have a complete narrative of actions that eventually led to this issue but I will attempt to summarize here.
Installed the MGI Improved Actor Framework Message Maker
Uninstalled to use NI AF Project Provider Tool
Pulled hair out while attempting to rescript broken messages that are seemingly autosaved after the failed rescript.
It seems that an error occurs when I attempt to re-script messages using the tool that ships with LabVIEW. After running the rescripting function the message VI is broken and apparently autosaves? I was able to re-create the behavior by:
1) Creating a new actor framework project
2) Re-scripting the Log Event Msg.lvclass
The error message is:
Error 1055 occurred at Invoke Node in Message Rescripter.lvlib:Replace Diagram Contents.vi->Message Rescripter.lvlib:Coupled Message Rescripter.lvclass:Create Class.vi->Message Maker.lvlib:Message Scripter.lvclass:Create Message.vi->Message Rescripter.lvlib:Coupled Message Rescripter.lvclass:Make.vi:7470001->Message Rescripter.lvlib:Item_OnCommand.vi:7170001->Message Rescripter.lvlib:Item_OnCommand.vi.ProxyCaller
LabVIEW: Object reference is invalid.
Method Name: Connect Wire
Has this happened to anyone else? Thanks in advance for any feedback, this is quite frustrating and holding up progress so I'm looking forward to getting it resolved.
02-26-2017 12:16 PM
I'm running into same problem on freshly installed LV 2016 x64: re-scripting actor message triggers error 1055:
Error 1055 occurred at Invoke Node in Message Maker.lvlib:Find and Replace GObj.vi->Message Rescripter.lvlib:Coupled Message Rescripter.lvclass:Create Class.vi->Message Maker.lvlib:Message Scripter.lvclass:Create Message.vi->Message Rescripter.lvlib:Coupled Message Rescripter.lvclass:Make.vi:7470001->Message Rescripter.lvlib:Item_OnCommand.vi:7170001->Message Rescripter.lvlib:Item_OnCommand.vi.ProxyCaller
I could not find any helper info on this besides your post here.
02-27-2017 07:45 AM
The problem seemed to arise after migrating my AF messages from an earlier version of LabVIEW in which I used MGI's AF message maker to build my messages. In the 2016 version NI has a built in tool for creating messages and I think that I accidentally used the built in tool to refactor the messages after making some changes.
I uninstalled the MGI AF message maker, removed the automatically built messages from my project, saved, closed LabVIEW and then deleted them from disk. Then I re-built all of my messages using LabVIEW's built in AF message maker tool. The problem seems to have been rectified but it was painful re-organizing my files. Hope this helps, good luck!
02-27-2017 11:44 AM
Thanks for insight. Could well be that my project was started back in 2016 with LV 2015.
02-27-2017 04:52 PM
Message rescripting was introduced with the AF project-based tools we shipped with LabVIEW 2015. It will work with messages created using those tools. It is not guaranteed to work with messages created with other tools, like the MGI toole, and it will not work on messages created with the original Message Maker. The newer tools rely on certain changes in the message templates - mostly item labels - to find and manipulate the correct code elements, and my guess is that those changes are not in the MGI templates, either.
If the message's attributes have not changed, you can delete the old message, open just the receiving actor in a clean project, and build a new version of the message. Then, when you open the original project, your new message should load in place of the old one.
05-24-2020 02:12 AM - edited 05-24-2020 02:13 AM
I ran into the same problem when I right-click on one of the Msg class and select "Rescript Message". (LabVIEW 2019 32bit)
I found that it's because I changed the original method's name (Save As...->Rename).
So I remove the Msg class from it's Actor's library, delete the folder of that Msg class, and then recreate the Msg class again. Problem solved!