运行 rsvars.bat 带有 TRichView 组件
Running rsvars.bat with TRichView components
我正在尝试使用 Delphi 提供的 rsvars.bat 文件通过命令行构建我的 Delphi 文件(我正在使用 Delphi XE2)。大多数事情似乎都很好,但我有一些错误出现在 TRichView 中。 TRichView 提供了一个名为 RVStyle.pas 的文件,它定义了变量 TRVTag,如下所示:
{$IFNDEF RVOLDTAGS}
TRVTag = type String;
{$ELSE}
TRVTag = Integer;
{$ENDIF}
这样做似乎是为了向后兼容,基于此线程,TRVTags 从 Integer 更改为 String。 http://www.trichview.com/forums/viewtopic.php?f=2&t=6377
在我们的自定义控件之一中,我们将 Integer ItemIndex 传递给请求 TRVTag 的 GetItemTag。
Result := GetItemTag(ItemIndex);
这在通过 Delphi 构建文件时工作正常,但在通过命令行构建文件时我收到 'Incomparable type' 错误。具体错误为:
Incompatible types: 'Integer' and 'TRVTag'
这似乎发生在我们的自定义控件中的几个地方,有时它说不兼容的类型 'integer' 和 'TRVTag' 其他时候它说不兼容的类型 'string' 和 'Integer.
对我来说,当通过命令行构建时,构建以某种方式没有获取 RVStyle.pas 或
中定义的 TRVTag 的定义
我的构建批处理文件如下所示:
cd c:\frontend\v10
call rsvars.bat
MSBuild del12\del12.dproj
PAUSE
我是否可以添加一些东西到我的批处理文件中,使我能够在没有不兼容类型错误的情况下构建这些文件,就像通过 XE2 本身构建时一样?
您的代码假定已定义 RVOLDTAGS
。您已经在调试配置中定义了它,但没有在其他配置中定义它。配置使用继承。这允许属性由派生配置继承,或者只为某些配置定义属性,或者为某些配置覆盖属性。
在您的情况下,您的代码要求为所有配置定义 RVOLDTAGS
。因此,您应该在继承所有其他配置的根配置中定义它。从调试配置中删除定义并在根配置中重新引入它。
我正在尝试使用 Delphi 提供的 rsvars.bat 文件通过命令行构建我的 Delphi 文件(我正在使用 Delphi XE2)。大多数事情似乎都很好,但我有一些错误出现在 TRichView 中。 TRichView 提供了一个名为 RVStyle.pas 的文件,它定义了变量 TRVTag,如下所示:
{$IFNDEF RVOLDTAGS}
TRVTag = type String;
{$ELSE}
TRVTag = Integer;
{$ENDIF}
这样做似乎是为了向后兼容,基于此线程,TRVTags 从 Integer 更改为 String。 http://www.trichview.com/forums/viewtopic.php?f=2&t=6377
在我们的自定义控件之一中,我们将 Integer ItemIndex 传递给请求 TRVTag 的 GetItemTag。
Result := GetItemTag(ItemIndex);
这在通过 Delphi 构建文件时工作正常,但在通过命令行构建文件时我收到 'Incomparable type' 错误。具体错误为:
Incompatible types: 'Integer' and 'TRVTag'
这似乎发生在我们的自定义控件中的几个地方,有时它说不兼容的类型 'integer' 和 'TRVTag' 其他时候它说不兼容的类型 'string' 和 'Integer.
对我来说,当通过命令行构建时,构建以某种方式没有获取 RVStyle.pas 或
中定义的 TRVTag 的定义我的构建批处理文件如下所示:
cd c:\frontend\v10
call rsvars.bat
MSBuild del12\del12.dproj
PAUSE
我是否可以添加一些东西到我的批处理文件中,使我能够在没有不兼容类型错误的情况下构建这些文件,就像通过 XE2 本身构建时一样?
您的代码假定已定义 RVOLDTAGS
。您已经在调试配置中定义了它,但没有在其他配置中定义它。配置使用继承。这允许属性由派生配置继承,或者只为某些配置定义属性,或者为某些配置覆盖属性。
在您的情况下,您的代码要求为所有配置定义 RVOLDTAGS
。因此,您应该在继承所有其他配置的根配置中定义它。从调试配置中删除定义并在根配置中重新引入它。