• vss-sgpb (08.11.10 15:34) [0]
    На форме расположены компоненты TKolBitBtn,TKolLabelEffect,TKolProgressBar.
    В зависимости от кликнутой кнопоки некоторые компоненты должны быть visible:=False; другие наоборот visible:=True;
    У меня работает странным образом.
  • Dufa © (08.11.10 17:00) [1]
    А точнее? %)
  • Vladimir Kladov © (08.11.10 17:16) [2]
    Мини-проект сделайте, со странностями. И выложите куда-нибудь (типа на zalil.ru). Мы скачаем и посмотрим.
  • vss-sgpb (09.11.10 10:36) [3]
    Кажется добился самостоятельно.
    После фрагментов с изменением видимости вида

    FormMain.lBegin.Visible:=False;
    FormMain.lAnalize.Visible:=True;
    FormMain.ProgressBar1.Visible:=True;

    добавил строку

    FormMain.Form.Update;

    Помогло.

    Аналогичная ситуация возникала и в Delphi.

    Там использовал

    FormMain.Repaint;
  • vss-sgpb (11.11.10 10:47) [4]
    Добрый день. Все-таки вопросы остались.

    Подготовил скелет проекта. Работает в двух режимах:
    - без параметра
    - с параметром (имя загружаемого файла)
     Если запустить без параметра, надо в диалоге  выбрать исходный файл (кнопка bInFile). В скелете это произвольный файл. Затем запустить "выгрузку" в Excel -кнопка bExcel. Работает нормально.
     Режим с именем файла в качестве параметра (в скелете - произвольные символы). Вся обработка в KOLForm1Show. Должно быть: пользователь не вмешивается в процесс, а только наблюдает за шагами его выполнения. Здесь у меня затык, не удается отображать шаги процесса. Форма появляется после последнего шага.
    Скелет проекта:    
    http://zalil.ru/29951275
  • QAZ (11.11.10 12:26) [5]

    > Форма появляется после последнего шага.

    так в кол оншоу и вызывался всегда непосредсна перед показом окна
    причем всегда а не только перед первым показом после создания
  • vss-sgpb (11.11.10 15:03) [6]
    Я это понимаю. Пробовал преодолеть по-разному. Неужели это неразрешимая
    задача, на форме инфоромационно показывать ход выполнения, не давая пользователю  вмешиваться, в том числе первоначальным кликом на что-либо для запуска функционала.
  • Vladimir Kladov © (11.11.10 19:18) [7]
    Способов-то много. Есть таймеры, потоки, самое примитивное - отправка сообщения своему контролу (PostMsg( WM_USER+1000, ..., прием этого сообщения в OnMessage.
  • vss-sgpb (12.11.10 12:54) [8]
    Благодарю. Остановился на самом примитивном.
Есть новые Нет новых   [120347   +17][b:0][p:0.001]