Показать сообщение отдельно
Старый 12.04.2010, 21:22   #1
Algo
AnyKey`щик
 
Регистрация: 12.04.2010
Сообщений: 2
Написано 0 полезных сообщений
(для 0 пользователей)
Вопрос Элементарное меню

Вечер добрый, уважаемые кодеры!

Возникла трабла - никак не могу разобраться с правильным расположением команд и их реацией ... Смысл в чем, при запуске проги на экране появляется меню с некоторым набором пунктов, при выборе пункта показывается TextBox или Form-а (или что-то подобное), соответственно, одной из софт-клавиш есть возможность вернуться на шаг назад в родительское меню, но... почему-то в моем случае приложение завершается...
Объясните, пожалуйста, в чем моя ошибка и большая просьба разъяснить правильное использование команд (хронологию относительно основного кода в различных случаях (чтобы одна не перекрывала другую) и т.п.).

program TestMenu;

var
    
m1m2m3integer;
    
chooseback, exit, clickedCommand;

begin
        ShowMenu
('Menu'CH_IMPLICIT);
        
m1 := menuAppendString('Menu point #1');
        
m2 := menuAppendString('Menu point #2');
        
m3 := menuAppendString('Menu point #3');
        
        
choose := createCommand('Choose'CM_OK2);        
        
addCommand(choose);
        
repeat
            delay
(100);
            
clicked := GetClickedCommand;
        
until    
            clicked 
choose;
        
        if 
menuGetSelectedIndex m1 then
            showTextBox
('Test text box''Selected 1-st menu point'2000TF_ANY);
        
        if 
menuGetSelectedIndex m2 then
            showTextBox
('Test text box 2''Selected 2-nd menu point'2000TF_ANY);
        
        if 
menuGetSelectedIndex m3 then
            showTextBox
('Test text box 3''Selected 3-rd menu point'2000TF_ANY);
    
        
back := createCommand('<- Back'CM_BACK1);
        
addCommand(back);    
            
        
repeat
            delay
(100);
            
clicked := GetClickedCommand;
        
until
            clicked 
back;
        
    exit := 
createCommand('Exit'CM_EXIT2);
    
addCommand(exit);
    
repeat
            delay
(100);
            
clicked := GetClickedCommand;
        
until
            clicked 
= exit;
end
(Offline)
 
Ответить с цитированием