用delphi调用第三方动态库中的函数没有问题,能能够执行正确的操作,第三方的函数返回一个正确的值,
现在我在java的applet调用delphi封装了第三方动态库的exe文件,到执行第三方的函数时返回值却有有问题(函数是能执行的),不知道是什么原因,我的java程序此时只是调用exe文件啊,不知道为什么出问题applet相关调用代码
String cmd ="C:\aa\storage\storage.exe C:\aa\storage\ 00000 10 0 UP";
这里有6个参数
    String params[] = new String[] {};
    Process process=null;
    process = Runtime.getRuntime().exec(cmd, params);
    process.waitFor();delphi中相关代码
LocalFile:='c:\aa\bb.txt';
Result :=CopyToPC('.\a.txt',LocalFile);CopyToPc就是第三方动态库的函数
这个函数在delphi中调用是没问题的会在PC机生成文件bb.txt'
但是用java调用封装了这个函数的exe文件时,CopyToPC不能在本生成文件,CopyToPC函数返回一个错误代码

解决方案 »

  1.   

    applet没有访问本地存储的权限.
      

  2.   

    楼上说的对
    你可以修改你的jre的安全策略文件
    给你的applet赋予文件操作的权限
      

  3.   


    在你的java.policy文件后加上 就可以了 试试看
    java.io.FilePermission  <<ALL  FILES>>  read,  write,  delete,  execute  
      

  4.   

    可能是相对路径的问题,
    在delphi程序中
    Result :=CopyToPC('.\a.txt',LocalFile);
    把这里的.\a.txt换成一个绝对路径试试看
      

  5.   

    apple操作本地文件的问题我已解决了,那个exe文件能被运行,
     interpb(曾曾胡)的方法我也试了,没用,
    我自己用delphi写了一个dll,里 面有读写本地文件 的方法,都能执行,就第三方的函数有问题,我现在是要用厂方提供的dll的函数去读取一个掌上机的数据,然后在本地生成一个文件,这个掌上机是用usb口和电脑相连的,不知道这里有什么问题