现在的位置: 首页 > 综合 > 正文

bcb6 中安装 delphi7 的控件包

2012年09月12日 ⁄ 综合 ⁄ 共 1321字 ⁄ 字号 评论关闭

其实只要新建一个包,然后把 d7 中的包包含的 pas 文件也包含进去就行了. 同时它会把对应的 bpi 文件也自动包含.

对于 bcb6 中没有的 PosEx 函数可以这样处理,把 d7 中的实现复制到一个新 pas 文件中,然后用条件编译就行了,另外对于查找 pas 的路径,要设置在 lib 搜索而不是 include 搜索.

uses

{$IFDEF BCB}
  StrUtils_d7_bcb6,
{$ENDIF}

unit StrUtils_d7_bcb6;

interface

uses
  SysUtils, Types;

function PosEx(const SubStr, S: string; Offset: Cardinal = 1): Integer;

implementation

{$IFDEF MSWINDOWS}
uses
  Windows;
{$ENDIF}
{$IFDEF LINUX}
uses
  Libc;
{$ENDIF}

function PosEx(const SubStr, S: string; Offset: Cardinal = 1): Integer;
var
  I,X: Integer;
  Len, LenSubStr: Integer;
begin
  if Offset = 1 then
    Result := Pos(SubStr, S)
  else
  begin
    I := Offset;
    LenSubStr := Length(SubStr);
    Len := Length(S) - LenSubStr + 1;
    while I <= Len do
    begin
      if S[I] = SubStr[1] then
      begin
        X := 1;
        while (X < LenSubStr) and (S[I + X] = SubStr[X + 1]) do
          Inc(X);
        if (X = LenSubStr) then
        begin
          Result := I;
          exit;
        end;
      end;
      Inc(I);
    end;
    Result := 0;
  end;
end;

//--------------------------------------------------
end.

 

--------------------------------------------------

http://www.ccrun.com/article.asp?i=1033&d=8oh4u2

 

会出一个超经典的错误:
[Linker Fatal Error] Fatal: Unable to open file 'DB.OBJ'
估计在BCB6下安装DevExpress的朋友很多都遇到这问题了,妖哥也是花了N长的时间才搞定咯,呵呵,解决方法就是:
点击 Package - dclcxTreeListVCLC6.bpk 窗口上的 Requires--》再点击Add按钮--》在 Add Unit 窗口--》点击Browse...--》找到$(BCB)\Lib\Release\dbrtl.bpi 添加进来
这个时候再编译,就呆以成功了,然后安装(Install)你就可以看到盼望已久的cxTreeList了。

抱歉!评论已关闭.