Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с Menu.InsertItem


L`Autour ©   (2008-10-07 12:46:00) 

При попытке добавить элемент перед текущим созданным через InsertItem прога спокойно вылетает с еррором. Элементы меню нормально вставляются только перед элементом добавленным через IDE (MCK), т.е. приходится вставлять новые элементы постоянно сдвигая указатель на место новой вставки:

       while (Length(TempStr) <> 0) do
       begin
         Inc(MenuIdx);
         pTempStr := PKOLChar(Parse(TempStr, ','));
         MainMenu1.InsertItem(MenuIdx, pTempStr, nil, [moRadioMark]);
       end; //while

Дополнительно при этом возникает проблемы при выходе из программы, выражаемая как: "Инструкция по адресу 0x00000000 обратилась к памяти по адресу  0x00000000. Память не может быть read".


L`Autour   (2008-10-08 07:23:00) [1]

Проблему решил.

procedure TForm1.KOLForm1Close(Sender: PObj; var Accept: Boolean);
begin
 MainMenu1.Destroy;
end;


L`Autour   (2008-10-08 05:52:00) [2]

С этим я уже смирился, а вот что делать с еррором при выходе?


blackman2003   (2008-10-07 18:10:00) [3]

Нумерация меню - вообще дело темное. И id-ы вовсе не обязательно идут по порядку.
Используй в качестве индекса предыдущего меню значиние, возвращаемое InsertItem


Наверх

Титульная страница Поиск, карта сайта Написать письмо