ole中我是用數據庫字段類型image存 WORd圖,在2000下程式我前幾天剛剛寫過,一切都正常,但現在xp下就不顯示(代碼可能不同),編輯時,發現實際已調入內容,隻是不顯示。 這個問題折磨了兩天,因星期天去客戶要交貨,大家幫忙分析一下什麼原因,或者是要什麼服務??

解决方案 »

  1.   

    "在2000下程式我前幾天剛剛寫過,一切都正常,但現在xp下就不顯示(代碼可能不同)"  代码可能不同的话那还说啥啊???? 若是一样的代码在2000下行、XP下不行,那再说。
      

  2.   

    謝謝各位,代碼不同我隻是一個在公司電腦上的代碼,一個是自己電腦上的程式,不同的系統,所以都是我寫作的。應該是相同的,而我目前其他2000電腦沒有delphi,不是很好去調試。我隻是想大家有沒有遇過這種2000與xp ole顯示上是否不同,又是如何處理的。
      

  3.   

    编译好的程序不就可以在2000下跑了,又不需要delphi环境。
    你编译出可执行文件,两个系统下各拷一份,看看结果是否一样
      

  4.   

    office版本相同,xp下不行,我還沒有去2000下試,看來得去試試才與大家說
      

  5.   

    也碰到过类似的问题,OleVariant在Win2k下正常,在个别的WinXp下不正常,后来把Ole参数的初始化一下就可以了: 
    var
      vData: OleVariant;vData:=null;
      

  6.   

    经过从各方面检查,发现存入时的格式有问题,不过我是用流存入的。怎么不对了,还是不明白.代码如下,大家分析一下那里有问题了,查了资料也都是这样写的?
     Var
       mymemoryStream:Tmenorystream;
     ...
     mymemoryStream:=Tmenorystream.create;
     if oleContainer1.OleObjectInterface <>nil then
      begin
        if adoq_ppmakingi.IsEmpty then
          adoq_ppmakingi.Append   //ADOQ_PPMAKINGI 为存储表记录集.
        else
          adoq_ppmakingi.Edit ;
        OleContainer1.SaveToStream(mymemoryStream);
        mymemorystream.Position :=0;
        adoq_ppmakingimemo.LoadFromStream(mymemoryStream);  //为image字段
        try
          adoq_ppmakingi.Post ;
        finally
          mymemorystream.Free; 
        end;
      end;
      

  7.   

    这种问题多花心思调吧
    windows版本有关的ole去看看msdn