各位大虾,下弟最近在用delphi7二次开发autocad,可是首先连调用autocad都不能实现,我的代码是这样的:
unit acad1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ActiveX, ComObj, StdCtrls, VLLib_TLB, OleServer;type
TC_Main = class(TForm)
MainMenu1: TMainMenu;
C_Main: TMenuItem;
C_Open: TMenuItem;
VlObject1: TVlObject;
VlDocument: TVlDocument;
VlApplication: TVlApplication;
C_Save: TMenuItem;
C_SaveAs: TMenuItem;
C_Exit: TMenuItem;
procedure C_OpenClick(Sender: TObject);
private
{ Private declarations }
acadApp: OleVariant;
acadDoc: OleVariant;
function acadConnect(ft:boolean):Boolean ;
public
{ Public declarations }
end;var
C_Main: TC_Main;implementation{$R *.dfm}
{acadConnect函数目的:连接AutoCAD}
function TC_Main.acadConnect(ft:boolean):Boolean;
var
falsetrue:boolean;
begin
result:=true;
falsetrue:=ft;
if falsetrue=true then
begin
try
acadApp:=GetActiveOleObject('VLLib.application');
except
acadApp:=CreateOleObject('VLLib.application') ;
end;
acadApp.Visible:=true;
acadDoc:=acadApp.ActiveDocument;
end
else
result:=false;
end;procedure TC_Main.C_OpenClick(Sender: TObject);
begin
acadConnect(True);
end;运行后出现
Project acad.exe raised exception class EOLeSysError with message '找不到指定的模块。'.Process stopped. Use Step or Run to continue.请问这是什么问题,该如何解决?
先谢过各位高手了
unit acad1;interfaceuses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Menus, ActiveX, ComObj, StdCtrls, VLLib_TLB, OleServer;type
TC_Main = class(TForm)
MainMenu1: TMainMenu;
C_Main: TMenuItem;
C_Open: TMenuItem;
VlObject1: TVlObject;
VlDocument: TVlDocument;
VlApplication: TVlApplication;
C_Save: TMenuItem;
C_SaveAs: TMenuItem;
C_Exit: TMenuItem;
procedure C_OpenClick(Sender: TObject);
private
{ Private declarations }
acadApp: OleVariant;
acadDoc: OleVariant;
function acadConnect(ft:boolean):Boolean ;
public
{ Public declarations }
end;var
C_Main: TC_Main;implementation{$R *.dfm}
{acadConnect函数目的:连接AutoCAD}
function TC_Main.acadConnect(ft:boolean):Boolean;
var
falsetrue:boolean;
begin
result:=true;
falsetrue:=ft;
if falsetrue=true then
begin
try
acadApp:=GetActiveOleObject('VLLib.application');
except
acadApp:=CreateOleObject('VLLib.application') ;
end;
acadApp.Visible:=true;
acadDoc:=acadApp.ActiveDocument;
end
else
result:=false;
end;procedure TC_Main.C_OpenClick(Sender: TObject);
begin
acadConnect(True);
end;运行后出现
Project acad.exe raised exception class EOLeSysError with message '找不到指定的模块。'.Process stopped. Use Step or Run to continue.请问这是什么问题,该如何解决?
先谢过各位高手了
改成acadApp:=GetActiveOleObject('ACAD.application');