問題所在:因為我的水晶報表控制項是for Delphi5的,所以在Delphi6下安裝時碰到了很多問題。現在詳細描述。
先找到控制安裝包,雙擊Crystal.dpk。系統提示安裝成新格式,選擇「是」。
點選package的install進行安裝,報告錯誤:未找到DsgnIntf.dcu,這是Delphi5和Delphi6的一個區別,將uses中的DsgnIntf改為{$IFDEF VER140} DesignIntf, DesignEditors {$ELSE} Dss}。
繼續編譯。報告未找到DsgnIntf.dcu,倒,搜一搜,在Delphi安裝目錄的Source/ToolAPI裡有一個,拷到lib下。
繼續編譯。報告未找到DesignMenus.dcu,再倒一次,再搜尋一次,還是在Source/ToolAPI裡,再拷到lib下。
再編譯,還說缺東西,缺什麼拷什麼吧,誰讓我笨呢。這次缺DesignEditors,當然還是在Source/ToolAPI裡。還缺一個DesignConst,一樣拷貝。
後來找了一個簡單方法,既然這三個都在同一個目錄裡,就把路徑包進去。點選單Tools->Environment Option,選到Library頁,在Library Path裡新增Source/ToolAPI。
最後缺PRoxies.duc。這次可是找不到啦。怎麼辦呢,自己寫一個。不是開玩笑,這個檔案在Delphi6裡已經沒用了,寫一個騙騙它:),程式如下:
unit Proxies;
interface
Function IsProxyClass(ComponentClass: TClass): Boolean;
implementation
Function IsProxyClass(ComponentClass: TClass): Boolean;
begin
Result := True;
end;
end.
記憶體到lib下。
繼續編譯,又有錯啦,未定義Form,這可是原始碼啦,怎麼回事呢?打開原始碼看看,原來是叫Root,把所有報錯的Form改為Root。改完之後再安裝,OK。
在Data access裡的最後一個控制項Crpe,就是它啦。