Я получаю следующее
Access violation at address 00404340 in module 'test.exe'. Read of address FFFFFFD5
со следующим кодом
var
List: TStrings;
В разделе "Создать":List:= TStringList.Create;
Добавление в список:Result := List.AddObject('hi', aCreatedObject);
MessageDlg(FunctionHookList.Objects[Result].ClassName, mtInformation, [mbOK], 0);
Диалоговое окно сообщения показывает правильное имя класса
Но позже, когда я это сделаю,
i := list.IndexOf('hi');
if i >= 0 then
if list.Objects[i] <> nil then
if assigned(list.Objects[i]) then
begin
tmp := list.Objects[i];
if tmp <> nil then
MessageDlg(tmp.ClassName, mtInformation, [mbOK], 0); //*******
end;
я получаю нарушение прав доступа выше в строке //*******
Я знаю, что там есть дублированный код, но я пытался проверить 'все'
if i >= 0 then begin tmp := Objects[i]; if Assigned(tmp) then ...
- person mjn   schedule 18.11.2010<> nil
иassigned
поймает его, если это так. - person Christopher Chase   schedule 19.11.2010