Набросал я в качестве проверки своей догадки тривиальный код:
TestGuiКод:
MODULE TestGui;
IMPORT Log, Math;
VAR
Person*: RECORD
First*: ARRAY 40 OF CHAR;
Last*: ARRAY 40 OF CHAR;
Age*: INTEGER;
END;
END TestGui.
По этому коду нагенерил форму.
Во втором модуле задаю логику:
Код:
MODULE TestControl_gui;
IMPORT g := TestGui, d:=Dialog;
PROCEDURE Set1*;
BEGIN
g.Person.First := 'Фёдор';
g.Person.Last := 'Сумкин';
g.Person.Age := 40;
d.UpdateString(g.Person.First);
END Set1;
PROCEDURE Set2*;
VAR
BEGIN
g.Person.First := 'Иван';
g.Person.Last := 'Сидоров';
g.Person.Age := 35;
d.UpdateString(g.Person.First);
END Set2;
END TestControl_gui.
^TestControl_gui.Set1
^TestControl_gui.Set2
А в итоге получаю обновление всех полей РАЗОМ!!! Хоть числа, хоть строки! Объясните, ЧЯДНТ?