Einzelnen Beitrag anzeigen

bodycounter

Registriert seit: 13. Jul 2004
12 Beiträge
 
#6

Re: wie kann man zwischen zwei SET´s unterscheiden

  Alt 28. Jan 2008, 14:23
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?
  Mit Zitat antworten Zitat