系统自带的例子StringList调试查看器,只支持delphi的。
D:\Program Files (x86)\Embarcadero\Studio\14.0\source\Visualizers\StringListVisualizer.pas
经过修改,支持c++builder。
这样就可以在调试的时候方便的查看StringList每一行的值。
TStringsVisualizerType=record
TypeName:string;
TypeLang: TTypeLang;
end;
const
StringsVisualizerType:array[0..6] of TStringsVisualizerType=
(
(TypeName:'TStrings';TypeLang:tlDelphi),
(TypeName:'System::Classes::TStringList';TypeLang:tlCpp) ,
(TypeName:'System::Classes::TStringList *';TypeLang:tlCpp),
(TypeName:'System::Classes::TStringList &';TypeLang:tlCpp),
(TypeName:'System::Classes::TStrings';TypeLang:tlCpp),
(TypeName:'System::Classes::TStrings *';TypeLang:tlCpp),
(TypeName:'System::Classes::TStrings &';TypeLang:tlCpp)
);
procedure TDebuggerStringListVisualizer.GetSupportedType(Index: Integer;
var TypeName: string; var AllDescendants: Boolean);
begin
TypeName := StringsVisualizerType[Index].TypeName;//'TStrings';
AllDescendants := True;
end;
function TDebuggerStringListVisualizer.GetSupportedTypeCount: Integer;
begin
Result := Length(StringsVisualizerType);
end;