旧的Scalabium软件的SMDBFltr在 Delphi 11.2 64位中显示AV

vwhgwdsa  于 2022-11-29  发布在  Scala
关注(0)|答案(1)|浏览(129)

旧的Scalabium软件的SMDBFltr在 Delphi 11.2 64位中抛出AV,但在32位应用程序中没有。调试指向此行:`

function TSMDBFilterDialog.GetCurrentFilter: string;
var
  i: Integer;
begin
  Result := '';
  if not Assigned(frmFilterDialog) then
    Exit;
  for i := 0 to frmFilterDialog.lbFilter.Items.Count-1 do
    Result := Result + PAnsiString(frmFilterDialog.lbFilter.Items[i].Data)^;  {<<-- AV here}
  if (Result <> '') then
    Result := ' AND ' + Result;

  if (Result <> '') then
    Result := Copy(Result, 6, Length(Result)-5);
end;

但我不知道哪里出了问题!
它可以在 Delphi 10.4中以32位和64位运行。知道出了什么问题吗?最好的问候弗朗西斯科阿尔瓦拉多

de90aj5v

de90aj5v1#

感谢AmigoJack和Brian指出了ASLR的问题,感谢Scalabium的Mike Shkolnik的帮助。问题解决了!

相关问题