开发环境xp,vs2008,winform程序,其中用到delphi写的dll,在xp下运行正常
在win7旗舰版 32位运行时报错,错误如下:
System.BadImageFormatException: 试图加载格式不正确的程序。 (异常来自 HRESULT:0x8007000B)
   在 PathChange.SqlForm.GetPinYinOnlyInitialCode(String SourceStr)
   在 PathChange.SqlForm.GetSQL_Click(Object sender, EventArgs e) 位置 D:\软件开发\PathChange\PathChange\SqlForm.cs:行号 76
   在 System.Windows.Forms.Control.OnClick(EventArgs e)
   在 System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
   在 System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
   在 System.Windows.Forms.Control.WndProc(Message& m)
   在 System.Windows.Forms.ButtonBase.WndProc(Message& m)
   在 System.Windows.Forms.Button.WndProc(Message& m)
   在 System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
   在 System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
开发环境和运行环境都是32位,网上收索试过讲目标改成“x86”不行,运行机器为管理员权限,请高手帮忙看看为何?

解决方案 »

  1.   

    和系统没有关系的,我的WIN7运行别人XP上编译好的程序都没有问题。
    生成的时候目标平台选用默认选项AnyCPU就而已了。如果用x86在64为windows系统下是作为WoW64应用运行的,WoW64技术能模拟x86指令集,但会影响性能。
      

  2.   

    在另外一台win7上运行就可以,加日志发现就是调用delphi的dll时出错
      

  3.   

    回复楼上,就是说公司有几台win7,有的支持有的不支持
      

  4.   

    既然都是32位系统,看看DLL是不是调用了什么东西,是不是没装驱动或者其他的DLL之类的