M
MTL
I've created a managed wrapper class for a c++ .dll i want to call from
a c-sharp project. It works fine except that any static strings that
are created within any of the classes of my c++ .dll aren't getting
initialized...i.e. they are always empty! The code looks something
like this (abridged):
//WrapperClass.cpp
public __gc class WrapperClass
{
void myMethod()
{
UnmanagedClass cl();
string str = cl.getString();
}
}
//UnmanagedClass.h
class UnmanagedClass
{
public:
static string str;
}
//UnmanagedClass.cpp
public class UnmanagedClass()
{
string UnmanagedClass::str("hello world");
string getString()
{
return str;
}
}
Basically the static member "str" is always empty...i.e. it never gets
assigned the "hello world" value. This works fine when managed
extensions aren't involved. Does anyone know what's going on.
a c-sharp project. It works fine except that any static strings that
are created within any of the classes of my c++ .dll aren't getting
initialized...i.e. they are always empty! The code looks something
like this (abridged):
//WrapperClass.cpp
public __gc class WrapperClass
{
void myMethod()
{
UnmanagedClass cl();
string str = cl.getString();
}
}
//UnmanagedClass.h
class UnmanagedClass
{
public:
static string str;
}
//UnmanagedClass.cpp
public class UnmanagedClass()
{
string UnmanagedClass::str("hello world");
string getString()
{
return str;
}
}
Basically the static member "str" is always empty...i.e. it never gets
assigned the "hello world" value. This works fine when managed
extensions aren't involved. Does anyone know what's going on.