Hallo, danke schon mal für die Antworten.
Aber, so ist das immer wenn man pseudo Beispiel macht. Nartürlich sind die zwei SET´s nicht in der gleichen
Unit difiniert.
Im echten Problem handelt es sich bei mir um das
TShiftState = set of (ssShift, ssAlt, ssCtrl, ssLeft, ssRight, ssMiddle, ssDouble);
das sich in der Delphi eigenen Classes.pas befindet.
Dann hab ich noch eine 3. Anbieter Komponente installiert die folgendes SET in einer sgr_def.pas hat:
Tsp_ShiftKeys=set of (ssShift, ssAlt, ssCtrl);
Wie ihr seht ist ssShift, ssAlt, ssCtrl doppelt vergeben. Nun will ich einfach nur beim KeyUp Event prüfen ob die Shift Taste gedrückt war.
Delphi-Quellcode:
procedure Tform1.FormKeyUp(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
if ssShift in shift then irgentwas;
end;
Dabei kommt halt die Compiler Meldung [Error] E2008 Incompatible types, ist ja auch klar weil er ssShift aus der sgr_def.pas nimmt und für shift das aus der classes. Den Code aus der classes und der sgr_def will ich nartürlich nicht ändern. Irgentwelche vorschläge wie ich den compiler sagen kann, das er das ssShift aus der classes benutz?