我用下面这段代码调用一个C#dll,return m.Invoke(o, ObjArray_Parameter);//这一句有时报错
,调用的DLL里面只有2个自定义struct和一个函数.
Assembly MyAssembly = Assembly.LoadFrom(lpFileName); Type[] type = MyAssembly.GetTypes(); foreach (Type t in type)
{// 查找要调用的命名空间及类 if (t.Namespace == Namespace && t.Name == ClassName)
{// 查找要调用的方法并进行调用 MethodInfo m = t.GetMethod(lpProcName); if (m != null)
{ object o = Activator.CreateInstance(t);
return m.Invoke(o, ObjArray_Parameter); } else MessageBox.Show(" 装载出错 !"); } } }
,调用的DLL里面只有2个自定义struct和一个函数.
Assembly MyAssembly = Assembly.LoadFrom(lpFileName); Type[] type = MyAssembly.GetTypes(); foreach (Type t in type)
{// 查找要调用的命名空间及类 if (t.Namespace == Namespace && t.Name == ClassName)
{// 查找要调用的方法并进行调用 MethodInfo m = t.GetMethod(lpProcName); if (m != null)
{ object o = Activator.CreateInstance(t);
return m.Invoke(o, ObjArray_Parameter); } else MessageBox.Show(" 装载出错 !"); } } }
解决方案 »
- word里面N多张表,如何放在access的一张表里面?
- c#生成XML文件中的声明<xml version="1.0" encoding="UTF-8">没有显示出来
- 我要在程序中引用别人写好的软键盘该如何做呢
- 读二进制文件字符串问题
- NotifyIcon 的BalloonTipClicked问题!
- 招聘.net软件开发工程师(上海)
- 高级问题:关于自定义文件格式的问题,相当于一个可存储各种格式文件的文件?
- 请问一个问题,在线等待回复!
- c# 字符串中如何删除掉“特殊字符”
- System.OutOfMemoryException'
- 怎么读取 和存储 ORACLE 中的 CLOB类型的字段?
- vs 2005的书签功能好像不如delphi和BCB的好用??
t.GetMethod("aa", System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.IgnoreCase)
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.AccessViolationException: 尝试读取或写入受保护的内存。这通常指示其他内存已损坏。
在 System.Runtime.InteropServices.Marshal.StructureToPtr(Object structure, IntPtr ptr, Boolean fDeleteOld)
在 Template.Class1.Draw(ArrayList ObjectValue, Object ObjectYS, Int32 IniWidth, Int32 BJSZ)
--- 内部异常堆栈跟踪的结尾 ---
在 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
在 System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
在 System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)