WideString wird benötigt, wenn du Strings über
DLL-Grenzen hinweg austauschen möchtest oder nicht-
unicode Delphiversionen (Delphi 2007 und früher) unterstützen möchtest. Dahinter verbirgt sich der
COM-basierte Typ BSTR. Deshalb ist WideString auch deutlich langsamer als ein einfacher String / UnicodeString, den Delphi selbst verwaltet.
Sinnvoll ist aber, wenn es nur um die Unterstützung alter Delphiversionen geht, den Typ per IFDEF als WideString oder string zu definieren, je nach Version...
Ja, das erklärt das Problem.
Ich kenne auch nur die Lösung, dass man mit IFDEF arbeitet, bin aber auch immer davon ausgegangen, dass es egal ist, ob ich WideString oder string schreibe.
Es geht um den ActiveQueryBuilder als 3rdParty Komponente, dann schreibe ich den Author mal an, warum die das heutzutage noch so machen.
Irgendwann muss man auch mal alte Zöpfe abschneiden.