C# импорт DLL и шаманство с CString (MFC) <-> string
От: biocheshire  
Дата: 09.08.06 11:16
Оценка: :)
Hi, All
Помогите плз с моим горем
Есть длл (unmanaged С++), экспортирующая функцию вида
int Login(CString log, CString pass);
Импортирую это в C#, тут она определена как

[DLLimport]
public static extern int Login(string u, string p);


Вызывается нормально, строки u и p воспринимаются функцией адекватно.
Но уже при выполнении кода из DLL:

CString gUser, gPass;
...
int declspec(__dllexport) Login (CString user, CString pass)
{
...
gUser = user;

//Прога на C# выдает
//************** Exception Text **************
//System.NullReferenceException: Object reference not set to an instance of an object.
gPass = pass;
}


Собственно в чем баг, в том, что CString (MFC) и string(.NET) по-разному устроены?
Как нормально вызвать Login() из C# в этом случае?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.