Конференция "KOL" » Исключение при обращении к главному меню [Delphi, Windows]
 
  • drmefisto © (16.09.11 13:49) [0]
    Здравствуйте! У меня такая беда:
    не могу сказать точно после чего (но скорее всего после работы с поинтерами), при обращении через код к элементам главного меню срабатывает исключение в выделенном жирным фрагменте этой функции, юнита KOL.pas:
     function SearchItems( ParentMenu: PMenu; var FromIdx: Integer ): PMenu;
     var I: Integer;
     begin
       Result := ParentMenu;
       if Id = HMenu( FromIdx ) then Exit; {>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>}
       if (Id >= 4096) and (DWORD( ParentMenu.FId ) = Id) then Exit; {>>>>>>>>>>>>}
       if ParentMenu.FMenuItems = nil then Exit; {>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>}
       for I := 0 to ParentMenu.FMenuItems.FCount-1 do
       begin
           Inc( FromIdx );
           Result := SearchItems( ParentMenu.FMenuItems.Items[ I ], FromIdx );
           if Result <> nil then Exit; {>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>}
       end;
       Result := nil;
     end;


    Что делать я даже не догадываюсь!
  • QAZ (16.09.11 21:49) [1]
    пошаговая отладка
  • Mr (19.09.11 10:34) [2]
    Скорее всего ParentMenu или nil или мусор?
  • rdnks (26.09.11 17:29) [3]
    с любым меню наткнулся на другую назойливую проблему - оставляют мусор в виде строк (эти строки по всей видимости есть названия айтимов меню) после уничтожения. Результат одинаков что при autofree, что вручную. Сокрушительный репорт от fastmm4. Пока копаю, решений нет. Kol - пи, win7, d7.
  • Shuuma (25.11.15 02:39) [4]
    Удалено модератором
 
Конференция "KOL" » Исключение при обращении к главному меню [Delphi, Windows]
Есть новые Нет новых   [134427   +34][b:0][p:0.001]