Code: Select all
confuse.c:140: cfg_getopt: Assertion `cfg && cfg->name && name' failed.
Jag går mot libtelldus-core.so.2 när jag gör själva anropet..
Moderator: Telldus
Code: Select all
confuse.c:140: cfg_getopt: Assertion `cfg && cfg->name && name' failed.
Jag ser att vi har löst saker på lite olika sätt, men förhoppningsvis på inte allt för olika sätt.micke.prag wrote:[...]
Jämför gärna med vår kod[...]
Code: Select all
[DllImport("TelldusCore.dll")]
public static extern IntPtr tdGetName(int intDeviceId);
public static string GetName(int intDeviceId)
{
IntPtr p = tdGetName(intDeviceId);
string s = Marshal.PtrToStringAnsi(p);
tdReleaseString(p);
return s;
}
Code: Select all
public static unsafe string tdGetName(int deviceId)
{
return getString(UnmanagedImport.tdGetName(deviceId));
}
private static unsafe string getString(char* input, bool release)
{
string returnString = System.Text.Encoding.UTF8.GetString(System.Text.Encoding.Unicode.GetBytes(new string(input)));
if (release)
{
UnmanagedImport.tdReleaseString(input);
}
return returnString;
}