利用delphi生成了一个dll文件,在c#中进行调用,项目完成后,在本机(win7)运行良好,但是部署到xp系统后,却抛出System.Runtime.InteropServices.SEHException的异常。(已经在xp中安装过net framework3.5等环境)本人怀疑是该dll文件需要delphi的组件或者链接库支持,但是对delphi确实不熟,请高手明示。注: delphi的代码
uses
  SysUtils,
  DBClient,
  Classes;var
  CDS: TClientDataSet;  procedure Convert(FileNameOri:pchar; FileNameDes:pchar); stdcall;
    begin
    CDS := TClientDataSet.Create(nil);
      try
        CDS.LoadFromFile(FileNameOri);//将文件中数据装入到数据集中
        CDS.SaveToFile(FileNameDes, dfXMLUTF8);//将数据集中的数据保存
      finally
        CDS.Free;
        //CDS.Destroy();
      end;
    end;{$R *.res}
exports
  Convert;
begin
end.

解决方案 »

  1.   

    DBClientmidas.dll将 midas.dll 复制到 XP系统文件夹 ,然后,=》运行,regsvr32 midas.dll
    如果你还不明白我说的什么意思的话,那么,兄弟我劝你转行。另说一句:能不能DBClient,最好不要用。ADO相关的组件有相同的功能,多研究一下。
    我是吃过这个亏了呵呵。