这么一个函数声明,怎么改写成.NET或者C++的呢?function sendTasks(subTaskList: TList; ip: PChar; port: PChar): TList; stdcall;

解决方案 »

  1.   

    TList是Delphi中的类,C#中没有办法使用;如果你一定要用,就用Delphi再封一层接口,对C#传入的数据构造成TList,然后再调用此函数;
      

  2.   

    不用顶,delphi这种类型的导出函数(参数或返回值)是无法在C#中使用了,楼主死心把
      

  3.   

    这个函数是个stdcall,额外写在一个Win32DLL里的,我觉得理论上应该是什么语言都可以调用吧?没有别的办法了么?
    还是说这个Win32DLL就是Delphi写的?所以无法用么?
      

  4.   

    见这帖把
    http://topic.csdn.net/u/20100623/14/86fd8ef7-9903-4a67-99c3-1c782ce741db.html
      

  5.   

    stdcall只是说明了函数参数的传递方式及堆栈的释放问题,理论上什么语言都能调,但你的函数参数是delphi所特有的类,谁知道你delphi特有的类是如何在内存中布局的呢?类的调用到最后也会转换为内存的地址调用的,而C#中的类又是另外一种布局方式,除非你有时间研究delphi中的类的内存布局和C#中的类的内存布局,然后再写一个转换函数(即使写出来,也不是通用的),所以还是换种方式吧;