-
При попытке добавить элемент перед текущим созданным через 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".
-
Нумерация меню - вообще дело темное. И id-ы вовсе не обязательно идут по порядку. Используй в качестве индекса предыдущего меню значиние, возвращаемое InsertItem
-
С этим я уже смирился, а вот что делать с еррором при выходе?
-
Проблему решил.
procedure TForm1.KOLForm1Close(Sender: PObj; var Accept: Boolean); begin MainMenu1.Destroy; end;
|