I have a Windows app that is sending string and float data to a class via a public property. The same DLL assembly is loaded into Maxscript (3dsmax) while the Windows app is running. I would expect that if I try to access a class property, that I'd get in both apps the same data but it's not. Apparently, the data is being passed to and from the instanced class at runtime but when the same data is accessed by Maxscript, the data is undefined.
The Windows app is creating an instance of the class. Maxscript is "loading the assembly" as a dotNetObject. Is is the data being sent/received by the Windows app only being done so in the local instance and not in the myClass.dll file itself? I know it's possible to interface a C# application with 3dsmax via Maxscript at runtime. Anyone help explain what might be wrong here?
Windows Communication Foundation also called WCF is a great API to use. I successfully used it when I worked for AutoDesk on 3dsmax. I used it to send maxscript commands to the app (i.e. 3dsmax) to drive automation testing.
Last but not least, the comment above from 'TheGeneral' is entirely correct.
If you want a more 'native' way to share data between processes, then I'd suggest using memory maps. https://learn.microsoft.com/en-us/windows/desktop/memory/file-mapping