**Attempt 1**
[DllImport("Hello.dll", EntryPoint="HELLO")]
public static extern string HELLO(string someText);
Console.WriteLine(HELLO("blah"));
**Attempt 2**
[DllImport("Hello.dll", EntryPoint="HELLO", CharSet=CharSet.Auto)]
public static extern string HELLO(ref string someText);
string str = "blah";
Console.WriteLine(HELLO(ref str));
**Attempt 3**
[DllImport("Hello.dll", EntryPoint="HELLO")]
public static extern string HELLO([MarshalAs(UnmanagedType.LPStr)]
string someText);
Console.WriteLine(HELLO("blah"));
**Attempt 4**
[DllImport("Hello.dll", EntryPoint="HELLO")]
public static extern string HELLO(StringBuilder someText);
StringBuilder sb = new StringBuilder("blah");
Console.WriteLine(HELLO(sb));
上述四种方法都试过,还是那个nullref错误,敬请帮助
[DllImport("Hello.dll", EntryPoint="HELLO")]
public static extern string HELLO(string someText);
Console.WriteLine(HELLO("blah"));
**Attempt 2**
[DllImport("Hello.dll", EntryPoint="HELLO", CharSet=CharSet.Auto)]
public static extern string HELLO(ref string someText);
string str = "blah";
Console.WriteLine(HELLO(ref str));
**Attempt 3**
[DllImport("Hello.dll", EntryPoint="HELLO")]
public static extern string HELLO([MarshalAs(UnmanagedType.LPStr)]
string someText);
Console.WriteLine(HELLO("blah"));
**Attempt 4**
[DllImport("Hello.dll", EntryPoint="HELLO")]
public static extern string HELLO(StringBuilder someText);
StringBuilder sb = new StringBuilder("blah");
Console.WriteLine(HELLO(sb));
上述四种方法都试过,还是那个nullref错误,敬请帮助
delphi的我没写过,c#掉c++的dll,需要在dll中的函数前extern "C",不是能直接调用的
这种说法我还没有听到过,你说的可能是c++ builder调用的时候的问题吧
http://community.csdn.net/Expert/topic/3344/3344697.xml?temp=.6290552
delphi的我没写过,c#掉c++的dll,需要在dll中的函数前extern "C",不是能直接调用的dll不是我们写的,我怎么改里面的东西?
把SendMsg.dll的完整路径加进去试试
是不是路径的问题?
把SendMsg.dll的完整路径加进去试试
不是,我试过全路径的,现在是直接放在bin下的,不是路径的问题
不过好像delphi的参数类型和c#不兼容。
System.NullReferenceException
就是参数怎么使用都报空引用错
System.NullReferenceException
实在郁闷,顶一下,解决了也救我。
[DllImport("SendMsg.dll",EntryPoint="SendShortMsg")]
public static extern int SendMessage( StringBuilder UserID, StringBuilder Password,StringBuilder MobileNo,StringBuilder Content, StringBuilder SendTime);
现在我重新做了一个dll来封装原来的 dll,但是出现了在web上无法调用的情况,在控制台确试可以的。这种嵌套调用引起的问题该如何解决呢?