【发布时间】:2010-04-20 13:24:10
【问题描述】:
我制作了一个包含 TVirtualStringTree 的表单,该表单可在 Delphi 7 和 Delphi 2010 中运行。我注意到,当我在两个平台之间移动时,我在树事件和字符串类型在 TWideString (D7) 和字符串 (D2010) 之间发生变化。我发现抑制此错误的唯一技巧是使用编译器指令,如下所示:
{$IFDEF TargetDelphi7}
procedure VirtualStringTree1GetText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
var CellText: WideString);
{$ELSE}
procedure VirtualStringTree1GetText(Sender: TBaseVirtualTree;
Node: PVirtualNode; Column: TColumnIndex; TextType: TVSTTextType;
var CellText: string);
{$ENDIF}
并在实现事件的地方重复此操作。我错过了一个简单的解决方案吗? 谢谢。
【问题讨论】: