Old Scalabium Software's SMDBFltr throws an AV in Delphi 11.2 64 bits but not in 32 bits application. Debug points to this line: `
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;
` but I can't figure out what's is wrong!
It works in Delphi 10.4 in both 32 and 64 bits. Any idea of what's wrong? Best Regards Francisco Alvarado
CodePudding user response:
Thanks to AmigoJack and Brian for pointing the ASLR issue and thanks to Mike Shkolnik from scalabium for his help. The problem was resolved!