Hallo an Alle,
Ich habe ein Problem mit der C++ API für SWX
. Ich benutzte das VS 6 und benötige die Namen aller Kinder in einer Assembly. So weit so gut, es gibt da auch ein Beispiel in der Hilfe zur API und auf der Webseite von SWX
. Das Problem ist sie laufen bei mir nicht. Wenn ich mich an die Hilfe Halte und die "sldworks.tlb" einbinde kann ich die Beispiele nicht compilieren. Fehler -> LPCOMPONENT unbekannter Bezeichner. Nutze ich hingegen die CComQIPtr Funktion läuft alles prima aber ich kann das ChildArray, bis auf das erste Kind [0], nicht auslesen. Hat jemand eine Lösung für mich? Muss ich die "sldworks.tlb" anders einbinden. Oder sieht jemand meinen Fehler im Code ?
Gruß Bernhard
//+++++++++Funktion+++++++++++++++++++++++++++
CoInitialize(NULL); //Initialize COM
CComPtr<ISldWorks> swApp; //Use ATL smart pointers
HRESULT hres = swApp.CoCreateInstance(__uuidof(SldWorks), NULL, CLSCTX_LOCAL_SERVER);
CComPtr<IModelDoc2> pModel;
CComQIPtr<IConfiguration> pConf;
CComQIPtr<IComponent2> pComp;
swApp->get_IActiveDoc2(&pModel);
pModel->IGetActiveConfiguration(&pConf);
pConf->IGetRootComponent2(&pComp);
int childCount;
pComp->IGetChildrenCount(&childCount);
CComQIPtr<IComponent2> Children;
pComp->IGetChildren(&Children);
//Leseversuch über Debug
BSTR getName;
for (int k = 0; k < childCount-1; k++ ){
Children[k].get_Name2(&getName);
}
//+++++++++++++++++Funktion+++++++++++++++++++++++
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP