api函数有些不同。有些相同调用效果也不同。

解决方案 »

  1.   

    我用NT 4.06 server。
    最近也碰到问题。
    可惜是没分提问了。
      

  2.   

    老千的贴子也没人光顾,,,,
    是不是csdn没有人在了???
    另外界上来讲我觉得看起来没有什么差别。
    我基本上是用nt server做的程序。
    但在我机器调试出错。但在win9x/winme运行良好。
      

  3.   

    1.win98和win2000的默认字体不同,所以程序界面有些不同.此问题的解决
      csdn上有。
    2.有些api是调用系统默认的,故调用效果有些不同伴。
    3.对office2000和office97的不同.封装的一些ocx出错。
      

  4.   

    我认为在什么平台编译是没有关系的。看看下列代码:
    SysUtils:
    procedure InitPlatformId;
    var
      OSVersionInfo: TOSVersionInfo;
    begin
      OSVersionInfo.dwOSVersionInfoSize := SizeOf(OSVersionInfo);
      if GetVersionEx(OSVersionInfo) then
        with OSVersionInfo do
        begin
          Win32Platform := dwPlatformId;
          Win32MajorVersion := dwMajorVersion;
          Win32MinorVersion := dwMinorVersion;
          Win32BuildNumber := dwBuildNumber;
          Win32CSDVersion := szCSDVersion;
        end;
    end;Controls:
    procedure TWinControl.SetParentWindow(Value: HWnd);
    begin
      if (FParent = nil) and (FParentWindow <> Value) then
      begin
        if (FHandle <> 0) and (FParentWindow <> 0) and (Value <> 0) then
        begin
          FParentWindow := Value;
          Windows.SetParent(FHandle, Value);
          if (Win32MajorVersion >= 5) and (Win32Platform = VER_PLATFORM_WIN32_NT) then
            Perform(WM_CHANGEUISTATE, MakeWParam(UIS_INITIALIZE, UISF_HIDEACCEL or UISF_HIDEFOCUS), 0);
        end else
        begin
          DestroyHandle;
          FParentWindow := Value;
        end;
        UpdateControlState;
      end;
    end;......
    有些在98上可以,在NT/2000不行原因有API不一样、程序本身问题(如NT/2000下若有内存溢出很容易体现处理,但98下就不一定了,个人观点)等。上面几位说得都有道理。我在98/2000 Pro
    /2000 Server都编译过不少程序,在别的环境下运行都没问题。