0
이러한 매개 변수 (점의 배열)와 더 오버로드 방법 "회전"입니다 다음과 같이 나는 다른 방법에서 호출 오전 : 정의가 나는 방법은 회전 불렀다
회전 방법 :
method TMakerGraphic.Rotate(var pts:array of Point; pcnt,xc,yc:integer);
을 다음과 같이
다른 방법에서 호출 : ".이 매개 변수에는 오버로드 방법 '회전'은 없다"
method TMakerLine.GetDynamicBounds(var r:Rectangle);
var
pts:array[1..2] of Point;
midx,midy:integer;
begin
with bounds do
begin
pts[1].x := left;
pts[1].y := top;
pts[2].x := right;
pts[2].y := bottom;
if Active then
begin
r := bounds;
with r do
begin
midx := ((right - left) div 2) + left;
midy := ((bottom - top) div 2) + top;
end;
Rotate(var pts,2,midx,midy); <<<<============= Here is where it raises the error
end;
end;
end;
그것은 오류를 제기 매개 변수와 메서드 호출이 올바른지 확인하고 오류가 있다고 생각하지만이 오류가 발생합니다. 나는 왜 그런지 이해하지 못한다. 사전에
감사합니다,
. 훌륭하게 작동합니다. 고마워요.하지만 빠른 질문이 있습니다. 100 번이나 2 번과 같이 꽤 자주 호출 될 메소드 내에서 새로운 점을 생성하면 메모리가 부족하거나 누출 될 수 있습니다. 로컬 변수이므로 프로그램이 메서드를 떠날 때마다 파손된다는 사실을 알고 있습니다. – ThN
.Net의 가비지 수집기가 메모리 릴리스를 처리하므로 걱정하지 마십시오. – RRUZ