I am getting a "Busy" message box that says the following: "This action cannot be completed because the "CATIA - Product - [testfile.CATPart]" program is not responding." Choose from "Switch To..." "Retry" or "Cancel."
Problem: I need to find a programmatic way to ensure the message box will never appear.
Background: I'm developing an AutoDesk Plugin in C#.net that is temporarily accessing a non-autodesk 3D Application. It is remotely accessing the Non-autodesk 3D application (with marshal) and doing a long file export. When the file exports, it takes too long, and the message appears. If I wait, I can click Retry after I see the file complete in Windows Explorer, and everything works fine. However, I can't expect the clients to enjoy clicking "Retry" all the time. I need it to forget about the message and keep waiting, indefinitely if possible. Some of the file exports can take over an hour and these are not even that big yet.
I have tried several things, but since I don't have access to the exe (this is a dll), I appear to have limitations on the access for modifying the netmsmqbinding settings. I tried several different types of queues and services, but they all start-and-stop fine, but never execute the file export process. Ideally, i just want to shutdown any potential message boxes from my dll, but if that isn't possible, can I reset the netmsmqbinding settings to something very long? This doesn't work for me:
namespace Testing_V0
{
[PluginAttribute("Testing_V0R1", "ADSK", ToolTip = "Testing the plugin", DisplayName = "Testing the plugin")]
[AddInPluginAttribute(AddInLocation.AddIn)]
public class MyPlugin : AddInPlugin
{
public override int Execute(params string[] parameters)
{
System.TimeSpan TS = new System.TimeSpan(0, 30, 10);
System.TimeSpan TB = new System.TimeSpan(10, 0, 0);
NetMsmqBinding NMB = new NetMsmqBinding();
NMB.MaxRetryCycles = 1000;
NMB.ReceiveRetryCount = 1000;
NMB.RetryCycleDelay = TS;
NMB.OpenTimeout = TB;
//NMB.ReceiveErrorHandling = ReceiveErrorHandling.Drop;
//Do the Export process here
}
}
}