Die ganze Prozedur sieht so aus:
Delphi-Quellcode:
procedure TMain.MI_InfoPartClick(Sender: TObject);
var
doc: Document;
ipt: PartDocument;
MS: ModelStates;
i: integer;
test:OleVariant;
begin
doc:= InventorApp.ActiveDocument;
memo.Lines.Add(doc.FullDocumentName);
if doc.DocumentType <> PartDocumentObject then exit;
ipt:= PartDocument(doc);
MS:= ipt.ComponentDefinition.ModelStates;
test:= VarArrayCreate([0,1000],varByte);
for i:=1 to MS.Count do begin
memo.Lines.Add(MS.Item[i].Name); // funktioniert
//MS.Item[i].Activate; // funktioniert
memo.Lines.Add(MS.Item[i].Document.PropertySets.Item[1].Item[1].Value); // funktioniert (auch schreibend)
MS.Item[i].GetReferenceKey(test, 0); // Typkonflikt
end;
end;
Nur der Aufruf der Prozedur
GetReferenceKey(test, 0);
geht nicht: Typenkonflikt