大连专业手机自适应网站建设,网站邮箱配置,英文网站开发公司,凉山州住房与城乡建设局网站前面说的Delphi通过Activex DLL同时调用PowerBasic和FreeBasic写的DLL#xff0c;是在WINDOWS基础平台上完成的。 而 .NET平台是架在WINDOWS基础平台之上的#xff0c;它的上面VB.NET或C#等开发的APP程序#xff0c;下面写一下用VB.NET#xff0c;通过VB6注册的Activex DLL…前面说的Delphi通过Activex DLL同时调用PowerBasic和FreeBasic写的DLL是在WINDOWS基础平台上完成的。 而 .NET平台是架在WINDOWS基础平台之上的它的上面VB.NET或C#等开发的APP程序下面写一下用VB.NET通过VB6注册的Activex DLL公共对象COM调用PowerBasic和FreeBasic写的DLL实现核心功能是MKI/CVI MKL/CVL MKS/CVS MKD/CVD的IEEE浮点计算。它们在一些传统产业上还在应用而且一时半时也不会弃之不用。 先创建新项目 往下翻找到VB窗体项目中途大多是C#移动开发。 在项目菜单中选填加引用 确认后加到依赖项下 在窗体上摆一些控件和VB6设计时的界面内容差不多。 在程序的最上部把注册的COM引用进来 在Command1下写代码 Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.ClickDim s As MBFIEEECRC New MBFIEEECRCTextBox11.Text VERSION : TextBox1.Text s.ModbusRoutines(PBFB:1, commandno:10, commandval:TextBox11.Text)TextBox11.Text AUTHOR : TextBox10.Text s.ModbusRoutines(PBFB:1, commandno:10, commandval:TextBox11.Text)TextBox2.Text s.ModbusRoutines(PBFB:1, commandno:1, commandval:1123.21) MKITextBox9.Text s.ModbusRoutines(PBFB:1, commandno:5, commandval:TextBox2.Text) CVITextBox3.Text s.ModbusRoutines(PBFB:1, commandno:2, commandval:1123.21) MKLTextBox8.Text s.ModbusRoutines(PBFB:1, commandno:6, commandval:TextBox3.Text) CVLTextBox4.Text s.ModbusRoutines(PBFB:1, commandno:3, commandval:1123.21) MKSTextBox7.Text s.ModbusRoutines(PBFB:1, commandno:7, commandval:TextBox4.Text) CVSTextBox5.Text s.ModbusRoutines(PBFB:1, commandno:4, commandval:1123.21) MKDTextBox6.Text s.ModbusRoutines(PBFB:1, commandno:8, commandval:TextBox5.Text) CVDEnd Sub
MBFIEEECRC是COM的对外接口把它NEW一个出来就可以用了用法和VB6开发差不多一样的调用函数ModbusRoutines时参数写至里面有一个地方留心一点。 入口参数是字符串时先所它放到文本框中再将文本框中的TEXT作为参数使用不宜直接将字符串作为参数传给COM因为表面看上去无差别但存储方式是有差异的DLL间传送字符串时比较好的解决办法是先放到文本框再送出文本框内容在写COM时也如些处理一下能免去调用时莫明其妙地异常退出。 编译时选用x86模式因为COM是线程内x32的。如果选了x64模式编译通不能运行找不到COM中的函数。正确编译后在x86的debug文件夹下生成可执行文件同时把VB6的创建的那些DLL考贝进来。 双击WinFormsApp1.exe即可运行点Command1执行结果就出来了。 VS2022版的项目文件于下面的链接中
https://download.csdn.net/download/weixin_45707491/88244514