unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls,ComObj,AutoCad_TLB;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
AcadApp,AcadDoc:OleVariant;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
var
startPoint,endpoint,FilterType,FilterData:Variant;
AcadSel:AcadSelectionSet;
erer:string;
begin
try
AcadApp:=GetActiveOleObject('autocad.application');//运行出错[Error] Unit1.pas(41): Incompatible types: 'Variant' and 'IAcadSelectionSet'
except
AcadApp:=CreateOleObject('autocad.application');
end;
AcadDoc:=AcadApp.ActiveDocument;
AcadApp.Visible:=true;
try
AcadSel := AcadDoc.SelectionSets.Add('erer');
except
AcadDoc.SelectionSets.Item('erer').Delete;
AcadSel := AcadDoc.SelectionSets.Add('erer');
end;
startPoint:= VarArrayCreate([0,2],5);
endPoint:= VarArrayCreate([0,2],5);
startpoint[0]:=0;
startpoint[1]:=0;
startpoint[2]:=0;
endpoint[0]:=500;
endpoint[1]:=500;
endpoint[2]:=0;
acadDoc.Select(acSelectionSetWindow,startpoint, endpoint, FilterType,FilterData);
end;
end.
理解不够,我把练习代码贴出来,请你帮忙诊断指正!谢谢!