Here is the setup (in simplified form):
interface.code:
enum eMyEnum
{
eFirst,
//....
}
interface iMyInterface
{
void SomeKindOfAction(eMyEnum aData);
}implemented.code:
#include "interface.code"
class cMyClass : iMyInterface
{
void SomeKindOfAction(eMyEnum aData)
{
///...
}
}main.code:
#include "interface.code"
void DoSomething()
{
//GetMyClass is implemented in C++ and returns cMyClass as implemented in "implemented.code"
iMyInterface @pData = GetMyClass();
pData.SomeKindOfAction(eFirst);
}
One module is built from "implemented.code" and one from "main.code".
When running DoSomething() the script returns that an exception has occured when calling the line:
pData.SomeKindOfAction(eFirst);
If I change to eMyEnum to int all works fine and there is no exception.
Am I doing something wrong here or might this be a bug, or just a limitation of the script?
Bonus questions:
1) If this is an error, does this apply to classes aswell? (Do I need to use interfaces as params?)
2) If enums cannot be shared across modules, is it possible to do:
int x=0; eMyEnum e = x;Some how?






