При попытке описать функцию или метод (pml в к

 
  • Если я описываю форму в командной строке, например:

    [INDENT]setup form !!hello [/INDENT]
    [INDENT]title 'ПРИВЕТ МИР'[/INDENT]
    [INDENT]paragraph .Message width 15 height 1[/INDENT]
    [INDENT]text .capture 'Enter message' width 15 is STRING[/INDENT]
    [INDENT]button .bye 'Goodbye' OK[/INDENT]
    [INDENT]exit[/INDENT]

    все отлично работает, форма вызывается и.т.д.

    Но при попытке описать функцию, например:

    [INDENT]define function !!Area( !Length is REAL, !Width is REAL, !Result is REAL)[/INDENT]
    [INDENT]!Result = !Length * !Width[/INDENT]
    [INDENT]endfunction

    [/INDENT]
    [INDENT]выдает:
       Error
    (46,80) PML: Invalid syntax in the current context
    [/INDENT]

    Тоже самое если пытаться описать метод.
    В чем причина?
    [INDENT]

    [/INDENT]
    [INDENT] [/INDENT]

  • define function !!Area( !Length is REAL, !Width is REAL ) is REAL
        !Result = !Length * !Width
        return !Result
    endfunction
  • Формы,функции, объекты хранятся в отдельных файлах на сервере или на локальной машине и в командную строку их не надо кидать, в отличии от макросов. Просто надо сохранить с нужным расширением и перечитать папку с макросами(pml reash all).
  • to pvaladares[COLOR=#3E3E3E] : Спасибо. Действительно у меня в коде ошибка. НО результат все тот-же.

    to [/COLOR][COLOR=#417394]me_hungry : В том-то и дело, что есть файл, в котором это хранится и pml rehash all делал.
    Например у меня файл: C:\AVEVA\Plant\PDMS12.0.SP6\PMLLIB\hello.pmlfrm

    setup form !!hello
    title 'ПРИВЕТ МИР'
    paragraph .Message width 15 height 1
    text .capture 'Enter message' width 15 is STRING
    button .bye 'Goodbye' OK
    exit


    define method .hello()
    -- default constructor - set gadget load-time default
    values
    !this.message.val = 'Hello world'
    !this.capture.callback = '!this.message.val = !this.capture.val'
    !this.Okcall = '!this.success()'
    endmethod


    define method .success()
    -- action when OK button is pressed
    !this.message.val = 'Hello again'
    !this.capture.val = ''
    endmethod
    --------------------------------------------------------------------------------

    Так из него только форма грузится, а остальное нет?
    К стати файл из примера в документации по AVEVA: C:\AVEVA\Plant\PDMS12.0.SP6\Manuals\Docs\Software Customisation Guide.pdf Параграф 13.7
    [/COLOR]
  • Попробуй выполнить [COLOR=#0000cd]pml reload form !!hello.
    [/COLOR][COLOR=#0000cd][/COLOR]Вообще в этой формочке автоматом только вызывается метод hello, второй метод вызывается по нажатию на кнопку.