Ich verwende CreatePolygonRgn und PtInRegion um Mausklicks in einem polygonal begrenzten Raum abfragen zu können.
Dies ist der Quelltextauszug
handle := CreatePolygonRgn(tp[0], High(tp), 1);
if handle ] 0 then begin
if SelectObject(BCAD.imgCAD.Canvas.Handle, handle) ] 0 then
begin
if PtInRegion(handle, p.x, p.y) then begin
...
tp ist dabei ein dynamisches Array vom Typ TPoint.
Mein Problem ist, daß der erste Aufruf noch korrekt funktioniert. Falls ich das Prog jedoch mit der Kompilereinstellung RangeCheck kompiliere, bekomme ich beim zweiten Durchlauf eine Exception. Das Handle gebe ich später mit DeleteObject(handle) wieder frei.
Wer kann helfen?
Sven
NachtragWenn ich ein statisches Array verwende habe ich dasselbe Problem.
Die Exception ist vom Typ RangeCheckError