Ich hab ein Problem eine Komponente so hinzubasteln, dass sie unter D2007 und D2010 funktioniert.
In Delphi2007 lief folgender Code problemlos:
Delphi-Quellcode:
type TSx_ShiftKeys=set of (skShift, skAlt, skCtrl); // subset of TShiftState
procedure SetZoomShift(const V:TSx_ShiftKeys);
var fZoomShift: TShiftState;
begin
fZoomShift:=[ssLeft]+TShiftState(V);
...
In Delphi2010 funktioniert's nicht mehr, da TShiftState ein paar Zustände dazugekriegt hat und jetzt 2 Byte gross ist.
Wie könnt ich das vernünftig lösen?
Das Set brauch ich wieder, damit die Komponente im Design-mode vernünftig konfigurierbar ist.
So eine Lösung
Delphi-Quellcode:
fZoomShift:=[ssLeft];
w:=word(fZoomShift) or byte(v);
fZoomShift:=TShiftState(w);
kommt mir völlig behindert vor - und ich müsst erst wieder ein define + Alternativcode herumwickeln damit alles auch unter D2007 läuft.
Danke!
Ralf