在分布式的C/S系统中,需要通过串口、板卡等大量操作外围设备,比如通过串口控制PLC、通过PCI板卡控制摄像头等等,由于大部分供应商提供的都是VC6版的demo,想一个个改写到.net里感觉很麻烦,请问我是否可以全用VC6封装成dll,然后给C#调用?这些dll放到哪里?dll怎样与C#交互?再怎样规划我的软件体系呢?我想用三层架构,因为我很菜,大家能不能详细告知我这个软件的设计步骤啊,就是先设计哪一层、怎样设计,后设计哪一部分、怎么样设计?十分感谢了,分不够我一定会加!

解决方案 »

  1.   

    不需要封装VC6的dll ,可以直接调用那些DLL的函数,C#,本身也有串口开发这一块。
      

  2.   

    C#也可以直接对串口进行编程,都封装到VC6的Dll里有时候会遇到意想不到的问题,到时调试更麻烦
    至于三层架构,一般是数据层、逻辑层、界面层,根据需要灵活运用。设计我习惯从上往下设计,先设计界面,这样对业务逻辑就会有比较明确的了解,然后设计逻辑层,提供界面需要的接口,然后根据逻辑层的需要设计数据层。
    http://hi.baidu.com/coolmaster/blog/item/14e64c2bf9e211ffe7cd408d.html
    http://msdn.microsoft.com/zh-cn/library/ms978748.aspx
      

  3.   

    楼上几位,我的项目里不光有串口,还有其他类型的设备,比如PCI板卡,你们怎么只看到串口,郁闷~~我们头要求坚决不允许从界面直接操作设备,必须写到设备层去,所以我想到写DLL进行调用,请教有经验的前辈给予具体指导!另外:我想问下VC6写DLL给c#调用有什么讲究没?比如传参数、返回结果有没有类型限制.....
      

  4.   

    从网上找个串口接口的类,引进来直接操作就行.
    http://download.csdn.net/down/695713/proloveYLY
    这个就是.
    具体的如何控制PLC板什么的这个你就得自己照要求做了,这个帮不到你了.
      

  5.   

    我想请教的是:VC写的DLL在参数上有什么讲究没?会不会发生C#调用DLL中的函数时不能正确传递参数??哪位能给出一些相关资料供参考!!
      

  6.   

    VC6非托管代码的平台调用,在.NET下完全没有障碍(COM或者非COM)。
    MSDN上已经有比较详细的文章,如下地址,希望能对你有所帮助http://msdn.microsoft.com/zh-cn/library/26thfadc.aspx