C#调用MFC的DLL出现:尝试读取或写入受保护的内存,请大师指点,在线等

jxtv_info 2017-03-12 03:46:57
MFC的DLL里面:HRESULT XKSoc_Open(const char* strIPAddr, int iPort, int SlaveAddr);
我改成C#调用:
[DllImport("LibLevelCtrl.dll", CharSet = CharSet.Ansi, EntryPoint = "?LevelMeter_Open@LevelMeter_Ctrl@@QAEJPBDHH@Z")]
private extern static IntPtr LevelMeter_Open([MarshalAs(UnmanagedType.LPStr)] string strIPAddr,int iPort,int iSlaveAddr);

调用代码:
string strip = "192.168.1.222";
int iport1 = 8001;

IntPtr result = LevelMeter_Open(strip,iport1,1);
但是出现:
尝试读取或写入受保护的内存,不知怎么改?
QQ:543644213
在线等,或加QQ有偿解决
...全文
173 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
真相重于对错 2017-03-12
  • 打赏
  • 举报
回复
这个代码,C#几乎无法用调用普通dll方式调用 试一下,引用那个dll 看函数格式似乎是com,很可能是一个activex控件
jxtv_info 2017-03-12
  • 打赏
  • 举报
回复
HRESULT LevelMeter_Ctrl::LevelMeter_Open(const char* strIPAddr, int iPort, int SlaveAddr) { HRESULT hr = S_OK; hr = rs485Ctrl.RS485_Open(strIPAddr, iPort); gSlaveAddr = SlaveAddr; return hr; } 这是DLL里的原型函数代码,麻烦帮我看一下,C#要怎么调用啊?急死了
xuggzu 2017-03-12
  • 打赏
  • 举报
回复
其实,楼主也可以试试const char * 对应c#的string。不一定会出错。
最好的方法是将c++的const char *改为LPCTSTR,这样,完全可以用string对应。
xuggzu 2017-03-12
  • 打赏
  • 举报
回复
intptr ptr1=marshal.allochglobal(50);记得好像这样。不对的话可以百度查查。
jxtv_info 2017-03-12
  • 打赏
  • 举报
回复
IntPtr如何先分配?
jxtv_info 2017-03-12
  • 打赏
  • 举报
回复
你好,能否给我一点代码
xuggzu 2017-03-12
  • 打赏
  • 举报
回复
主要是const char * 转c#类型对应问题,建议用intptr对应,而且intptr要事先分配好空间.
内容概要:本文针对无刷直流电机驱动的电子机械制动(EMB)执行器,建立了考虑Stribeck摩擦特性的非线性耦合动力学模型,并在Simulink环境中完成了系统级仿真分析。研究综合集成了电机动力学、齿轮传动机构与制动执行机构的动力学特性,构建了高保真的机电一体化系统模型。重点引入Stribeck摩擦模型以精确描述低速工况下执行器内部存在的静摩擦、粘滞摩擦与库仑摩擦之间的过渡行为,有效提升了系统在启停、反向运动等瞬态过程中的动态响应仿真精度。通过多工况仿真验证了模型的有效性,能够准确反映摩擦引起的爬行、滞后与定位误差等非线性现象,为EMB系统的高性能控制算法设计(如摩擦补偿、滑模控制)与结构优化提供了高可信度的仿真平台。; 适合人群:从事汽车电子制动系统、电机驱动控制、机电系统建模与仿真研究的研究生、科研人员及工程技术人员,需具备扎实的机械动力学、自动控制理论基础和MATLAB/Simulink仿真能力。; 使用场景及目标:①用于高精度电子机械制动系统的设计验证与性能预测;②为消除摩擦非线性影响的先进控制策略(如自适应控制、智能控制)提供精确的被控对象模型;③深入探究Stribeck摩擦等非线性因素对系统动态性能(如响应延迟、稳态误差)的作用机理; 阅读建议:读者应结合提供的Simulink模型文件,深入剖析Stribeck摩擦模块的数学实现与参数辨识方法,建议通过改变输入指令(如阶跃、正弦)和负载条件进行对比仿真,以直观理解非线性摩擦对系统动态特性的影响。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧