Error message on empty string in Dialog.MapString.
Posted: Wed May 03, 2017 5:43 pm
An empty strings (e.g. "#Ctls:") produce an error messages ("key not found" ) in Dialog.MapString
by logMissingSimpleKeys = TRUE.
Im module Dialog should be the procedure SearchString(in, out)
add IF ch # 0X THEN INC(i); ch := in[i+1] END; and change INC(i, 2) to INC(i)
That solves the problem and do a RETURN on empty string.
by logMissingSimpleKeys = TRUE.
Im module Dialog should be the procedure SearchString(in, out)
Code: Select all
i := 0; ch := in[1];
WHILE (ch # 0X) (* & (ch # ".") *) & (ch # ":") DO subsys[i] := ch; INC(i); ch := in[i + 1] END;
subsys[i] := 0X;
IF ch # 0X THEN
INC(i, 2); ch := in[i]; j := 0;
WHILE (ch # 0X) DO in[j] := ch; INC(i); INC(j); ch := in[i] END;
in[j] := 0X
ELSE
RETURN
END;
Code: Select all
i := 0; ch := in[1];
WHILE (ch # 0X) (* & (ch # ".") *) & (ch # ":") DO subsys[i] := ch; INC(i); ch := in[i + 1] END;
subsys[i] := 0X;
IF ch # 0X THEN INC(i); ch := in[i+1] END;
IF ch # 0X THEN
INC(i); ch := in[i]; j := 0;
WHILE (ch # 0X) DO in[j] := ch; INC(i); INC(j); ch := in[i] END;
in[j] := 0X
ELSE
RETURN
END;