Ошибка при использовании winmessage для переменной вне метода - PullRequest
0 голосов
/ 30 января 2019

Итак, у меня есть этот код в моем классе внутри пакета приложения.Если я помещаю winmessage внутри метода, у него нет проблем, но когда он за пределами, он говорит, что нуждается в утверждении.Кто-нибудь знает, почему это происходит?Вот мой код:

Часть, в которой происходит ошибка, находится в WinMessage (& description);

class CopyFromProg
   method CopyFromProg();
   method getProg(&acad_prog As string);
   method getDesc(&desc As string);
   property string program;
   property string description;
end-class;

method CopyFromProg
end-method;

method getProg
   /+ &acad_prog as String +/
   &program = &acad_prog;
end-method;

method getDesc
   /+ &desc as String +/
   &description = &desc;
end-method;

WinMessage(&description);

1 Ответ

0 голосов
/ 31 января 2019

Вы в своем определении класса.

Определение может включать в себя только объявление класса, определения методов и конструкторы.

Чтобы показать ваш &description, вы можете сделать следующее для события, например FieldChange:

import TEST_APPPACK:CopyFromProg;
Local TEST_APPPACK:CopyFromProg &test;

&test = create TEST_APPPACK:CopyFromProg();
&test.description = "yeet";
WinMessage(&test.description); /* Popup string "yeet" */

Вы также можете изменить определение класса приложения, включая метод, который будет выводить описание:

class CopyFromProg
   method CopyFromProg();
   method getProg(&acad_prog As string);
   method getDesc(&desc As string);
   method showDesc();
   property string program;
   property string description;
end-class;

method CopyFromProg
end-method;

method getProg
   /+ &acad_prog as String +/
   &program = &acad_prog;
end-method;

method getDesc
   /+ &desc as String +/
   &description = &desc;
end-method;

method showDesc
   /******** output &description ********/
   WinMessage(&description);
end-method;

Тогда в событии вы сможете использовать:

import TEST_APPPACK:CopyFromProg;
Local TEST_APPPACK:CopyFromProg&test;

&test = create TEST_APPPACK:CopyFromProg();
&test.description = "yeet";
&test.showDesc(); /* Popup string "yeet" */
...