while (Rec.dwMousePosition.X > m.PaintInfo.Left) and (m<>nil) do begin
du greifst erst auf
m zu und prüfst danach, ob es überhaupt existiert
also (m<>nil) muß nach vorne
PS: auch wenn wieder mal die genaue Fehlermeldung fehlt ... ("eine AccessViolation")
Zitat:
Zugriffsverletzung auf Adresse $000000xx
däutet fast immer darauf hin, daß man auf etwas zugreift, welches nicht existiert, bzw. wo ein Pointer oder eine Objektvariable auf NIL stehen.