Q&A

  • 캐드[vba -> delphi]
델파이로 캐드에 그림그리는 작업을 하고 있는데 모르는게 넘 많으니 도와주세요.



아래에 예제가 캐드에서 선이나 원등을 선택하면 어떤 종류(선 or 원 등)인지 알려주는 예제인데 'Dim returnObj As Object' - 이부분을 델파이로 어떻게 바꿔야

하는지를 모르겠습니다. 예제를 보고 틀린부분좀 고쳐주세요.. 부탁드립니다..



비베-----------------------------------------------------------------------

Dim returnObj As Object <<<<------ 이부분..

Dim basePnt As Variant



On Error Resume Next



' The following example waits for a selection from the user

Retry:

ThisDrawing.Utility.GetEntity returnObj, basePnt, "Select an object"



If Err <> 0 Then

Err.Clear

MsgBox "Good Bye.", , "GetEntity Example"

Exit Sub

Else

returnObj.Color = acRed

returnObj.Update

MsgBox "The object type is: " & returnObj.EntityName, , "GetEntity Example"

returnObj.Color = acByLayer

returnObj.Update

End If



GoTo Retry

델 -----------------------------------------------------------------------------------

VAR

Acad, AcadDoc : Variant;

mspace, VPORT: variant;

RETURNOBJ : Variant; <<<-------- 여기에 뭘로 선언을 해 줘야 하나요???

BASEPNT : VARIANT;

begin

Acad := GetActiveOLEObject('AutoCAD.Application');

AcadDoc := Acad.ActiveDocument;

mspace := AcadDoc.modelspace;

vport := AcadDoc.ActiveViewport;

~

~

AcadDoc.UTILITY.GETENTITY(RETURNOBJ, BASEPNT, 'SELECT'); <<--- 맞나요??

RETURNOBJ.color := 1;

RETURNOBJ.update;

SHOWMESSAGE('The object type is: ' + returnObj.EntityName);

RETURNOBJ.color := 2;

RETURNOBJ.update;

end;



에러는 형식이 일치하지 않는다는 메시지가 나오고요... 다른 데이터 타입을 임의로 넣어 봤는데 안 돌아가네요.. 흑흑..

이걸 어떻게 써야 하는지 좀 가르쳐 주세요.. 그리고 위에 델파이에서 잘못된 점 지적좀 해주시고요.



고수님들 도와주이소...

0  COMMENTS