Hi,
vielleicht kann mir ja auch ein "Nicht-Autocad-Kenner" einen Tipp geben, warum ich in folgendem Code eine Zugriffsverletzung zur laufzeit bekomme.
Alternativ dazu wäre ein Beispiel, wie ich in Delphi Autocad Objekte mit einem Link versehe (das soll am Ende daraus werden) auch ganz hilfreich.
Delphi-Quellcode:
var
mylinktemplates:CAO_TLB.LinkTemplates;
mylinktemplate:CAO_TLB.LinkTemplate;
mydbconn:cao_tlb.DbConnect;
myLPN_name:string;
mykeydes:CAO_TLB.KeyDescriptions ;
i:integer;
begin
if (not checkcad) then exit;
mydbconn:= idispatch(Acadapp.GetInterfaceObject('CAO.DbConnect.16')) as dbconnect;
mydbconn.Connect(...);
myLPN_name:='...';
mylinktemplates:=mydbconn.GetLinkTemplates(currdoc);
for i:=0 to mylinktemplates.Count-1 do
begin
if (mylinktemplates.Item(i).Name=myLPN_name) then
begin
mylinktemplate:=mylinktemplates.Item(i);
end;
end;
//mykeydes:=idispatch (acadapp.GetInterfaceObject('CAO.KeyDescriptions.16')) as KeyDescriptions; //macht keinen Unterschied ob da oder nicht.
mykeydes:=mylinktemplate.KeyDescriptions;
end;
Mylinktemplate ist da und auch mit der Datenbank verbunden. Die
OH von autodesk meint zu KeyDescriptions :
Zitat:
VBA class name: KeyDescriptions
Create using: ACADApplication.GetInterfaceObject("CAO.KeyDescrip tions.16")
Access via: LinkTemplate.KeyDescriptions
Danke schonmal
Thomasch