Page 104 - 4356
P. 104

ними під час виклику блоку (зверніться до глави 19 «Параметри
           блоків»).
                  Програмний  редактор  перевіряє  відповідність  ініціалізації
           параметрів  блоку,  який  викликається,  і  інтерфейсу  блоку,  який

           викликається.  Для  цього  редактор  використовує  мітки  часу:
           інтерфейс блоку, який викликається, повинен бути старше (мати
           більш ранню тимчасову мітку), ніж код блоку, який викликається,

           тобто остання зміна інтерфейсу повинна бути зроблена до виклику
           блоку. Програмний редактор оновлює тимчасову мітку інтерфейсу
           при  зміні  числа  параметрів,  або  коли  змінюється  тип  даних  або
           значення за замовчуванням.

                  Конфлікт тимчасових міток
                  Конфлікт  тимчасових  міток  (Time  stamp  conflict)  виникає,
           коли  інтерфейс  блоку,  який  викликається,  має  більш  пізню

           тимчасову мітку в порівнянні з кодом блоку, який викликається.
           Такий  конфлікт  тимчасових  міток  станеться,  якщо  ви  відкриєте
           скомпільований              блок.       Програмний            редактор          позначає

           некоректний  виклик  блоку  червоним  кольором.  Конфлікт
           тимчасових  міток  може  бути  викликаний,  наприклад,  при
           модифікуванні  інтерфейсів  блоків,  вже  викликаних  з  інших

           блоків,  якщо  в  новій  програмі  комбінуються  блоки  з  різних
           програм, або при повторній компіляції розділу повної програми з
           вихідного файлу.
                  Поряд з цим, конфлікт інтерфейсу, звичайно описуваний як

           «конфлікт тимчасових міток», може також мати інші викликаючі
           його причини. Він також виникає, якщо блок, який викликається
           або  блок,  який  адресується  «молодший»  (має  більш  пізню

           тимчасову мітку), ніж блок, який викликається. Прикладами, при
           яких  можливі  конфлікти  тимчасових  міток,  можуть  бути  такі
           випадки:
                  − інтерфейс блоку, який викликається «молодший», ніж код

           блоку, який викликається;
                  − ініціалізація інтерфейсу не узгоджена з інтерфейсом блоку;
                  − функціональний  блок  має  більш  пізню  тимчасову  мітку

           порівняно з його екземплярним блоком даних (екземплярний блок
           даних  генерується  на  основі  опису  інтерфейсу  функціонального
           блоку  і,  таким  чином,  повинен  бути  «молодший»  ніж

           функціональний блок або їх тимчасові мітки повинні збігатися);




                                                       104
   99   100   101   102   103   104   105   106   107   108   109