Hallo
Bin der Meinung, dass der Compiler für eine "Volle Menge" einen Fehler generiert.
Sei es im RAM oder im EEPROM.
type TWaehrung = (W_None, W_JETON1, W_JETON2, W_CHF, W_EUR); // Währungen
TWaehrungSet = set of TWaehrung; // Währungen
var Waehrungen : TWaehrungSet;
procedure VolleMenge;
begin
Waehrungen := [TWaehrung]; // Listing: $01 falsch
Waehrungen := [min(TWaehrung)..max(TWaehrung)]; // Listing: $1F OK
Waehrungen := [W_None..W_EUR]; // Listing: $1F OK
end;
TickTasks.VolleMenge:
.RETURNS 0
.BLOCK 54
.LINE 55
LDI _ACCA, 001h
STS TICKTASKS.WAEHRUNGEN, _ACCA
.LINE 56
LDI _ACCA, 01Fh
STS TICKTASKS.WAEHRUNGEN, _ACCA
.LINE 57
LDI _ACCA, 01Fh
STS TICKTASKS.WAEHRUNGEN, _ACCA
.ENDBLOCK 58
TickTasks.VolleMenge_X:
.LINE 58
.BRANCH 19
RET
.ENDFUNC 58
Bin der Meinung, dass der Compiler für eine "Volle Menge" einen Fehler generiert.
Sei es im RAM oder im EEPROM.
type TWaehrung = (W_None, W_JETON1, W_JETON2, W_CHF, W_EUR); // Währungen
TWaehrungSet = set of TWaehrung; // Währungen
var Waehrungen : TWaehrungSet;
procedure VolleMenge;
begin
Waehrungen := [TWaehrung]; // Listing: $01 falsch
Waehrungen := [min(TWaehrung)..max(TWaehrung)]; // Listing: $1F OK
Waehrungen := [W_None..W_EUR]; // Listing: $1F OK
end;
TickTasks.VolleMenge:
.RETURNS 0
.BLOCK 54
.LINE 55
LDI _ACCA, 001h
STS TICKTASKS.WAEHRUNGEN, _ACCA
.LINE 56
LDI _ACCA, 01Fh
STS TICKTASKS.WAEHRUNGEN, _ACCA
.LINE 57
LDI _ACCA, 01Fh
STS TICKTASKS.WAEHRUNGEN, _ACCA
.ENDBLOCK 58
TickTasks.VolleMenge_X:
.LINE 58
.BRANCH 19
RET
.ENDFUNC 58