Bookmarks laufen in neuen
Unicode Delphis wesentlich anderst als noch bei D7. In D7 war TBookmark ein Pointer und TBookmarkStr ein String, in D11 ist es ein TArray<Byte> oder TBookmarkStr eine AnsiString, aber dieser sollte nicht mehr verwendet werden und Stellen an denen BookmarStr geutzt wird, sollte man nun auf TBookmark umstellen. Darf ich fragen welche Version von DBISAM du nutzt? Nehme mal an V4, weil V3 müsstes du massiv anpassen, weil es davon offiziell nie eine Unicodefahige Version gab. Ich hatte vor Jahren DBISAM 3 Unciode-tauglich gemacht, weil ich da unbedingt noch DBISAM 3 nutzen musste. War keine einfache Sache, aber hier läuft nun DBISAM 3 nun schon seit Jahren in
Unicode Delphi's. Da musste ich auch so einiges umstellen, wegen den Bookmars und anderer Stellen des TDataset Interface, die von D7 deutlich verändert wurden (z.B. PChar -> TRecordBuffer). Ich denke aber das ist nicht dein Problem hier, sondern deine Komponenten die du da nutzt und die noch auf dem alten String Bookmark aufsetzen.
Was ist DBGridListe für eine Komponente und was für eine Typ ist das Items[x] da? Ein Cast auf TBookmark, wie BerndS es schreibt, könnte eventuell gehen, aber wenn die DBGridList Komponentne nicht auf die neuen TDataset Tpyen umgestellt ist, könntest du noch andere Probleme bekommen.