Hallo Forum,
ich möchte eine Menge als numerischen Wert in meiner DB speichern:
<pre>
TSEDPItemState = (
dpsActive,
dpsReadOnly,
dpsInternal,
dpsInvers
);
TSEDPItemStates = set of TSEDPItemState;
...
procedure TForm1.Button3Click(Sender: TObject);
var
DPStates: TSEDPItemStates;
iTest: Integer;
begin
DPStates := [dpsActive, dpsInvers];
iTest := Word(DPStates);
ShowMessage(IntToStr(iTest));
end;
</pre>
Bei der Umwandlung <pre>wTest := Word(DPStates);</pre> meckert der Compiler, dies sei eine ungültige Typumwandlung. Ich habe aber ein Code-Beispiel gefunden, wo das genauso gemacht wird. Da funktionierts. Was mache ich da falsch? Muss ich einen Compilerschalter aktivieren oder deaktivieren?
Gruß
Martin
ich möchte eine Menge als numerischen Wert in meiner DB speichern:
<pre>
TSEDPItemState = (
dpsActive,
dpsReadOnly,
dpsInternal,
dpsInvers
);
TSEDPItemStates = set of TSEDPItemState;
...
procedure TForm1.Button3Click(Sender: TObject);
var
DPStates: TSEDPItemStates;
iTest: Integer;
begin
DPStates := [dpsActive, dpsInvers];
iTest := Word(DPStates);
ShowMessage(IntToStr(iTest));
end;
</pre>
Bei der Umwandlung <pre>wTest := Word(DPStates);</pre> meckert der Compiler, dies sei eine ungültige Typumwandlung. Ich habe aber ein Code-Beispiel gefunden, wo das genauso gemacht wird. Da funktionierts. Was mache ich da falsch? Muss ich einen Compilerschalter aktivieren oder deaktivieren?
Gruß
Martin
Comment