Autor
|
Thema: Dekaration von Variablen in .net 2005 (1687 mal gelesen)
|
mathias.bergundthal Mitglied informatiker
Beiträge: 153 Registriert: 03.08.2005 HP xw6000 - WXP Pro SP2 - CATIA V5 R16 SP9 - Visual Studio 2005
|
erstellt am: 25. Jul. 2006 15:44 <-- editieren / zitieren --> Unities abgeben:
Guten Tag Community, Ich habe da ein kleines Problem was die Deklaration angeht... ich weiss nicht wie ich folgende Variable (CATIAFileTemplatePath) deklarieren muss. Wenn ich sie als string nehme dann geht es für fast alle Fälle bis auf "AddComponent"... und wenn ich Array nehme (statt String) dann kann ich sie nicht setzen. Nun was muss ich tun???? Code:
Dim CATIAFileTemplatePath(0) As String Dim myRootDocument As Document Dim myProduct As ProductStructureTypeLib.Product CATIAFileTemplatePath(0) = WorkFolder & CATIAFile myRootDocument = CATIA.Documents.Open(CATIAFileTemplatePath(0)) myProduct.Products.AddComponentsFromFiles(CATIAFileTemplatePath(0), "All")
Danke für eure Hilfe grüessli, Mathias Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
tomtom1972 Mitglied dipl ing maschinenbau
Beiträge: 605 Registriert: 22.03.2005 NVidia Quadro K4000 Intel Xeon E5-1620, 64GB RAM Windows10 64bit R30 <= CATIA V5 > =R19
|
erstellt am: 26. Jul. 2006 06:50 <-- editieren / zitieren --> Unities abgeben: Nur für mathias.bergundthal
|
mathias.bergundthal Mitglied informatiker
Beiträge: 153 Registriert: 03.08.2005 HP xw6000 - WXP Pro SP2 - CATIA V5 R16 SP9 - Visual Studio 2005
|
erstellt am: 26. Jul. 2006 09:21 <-- editieren / zitieren --> Unities abgeben:
Hallo Tom, dank dir, ist zwar nicht das was ich suchte aber es geht ich will aber noch die richtige deklaration finden, denn .net hat es nicht so gern wenn es undefinierte variablen brauchen muss. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
AlexE78 Mitglied Ing.
Beiträge: 49 Registriert: 29.08.2005
|
erstellt am: 26. Jul. 2006 10:35 <-- editieren / zitieren --> Unities abgeben: Nur für mathias.bergundthal
Guten Morgen, Die Deklaration scheint ok zu sein.. sonst würde der Interpreter auch schon an dieser Stelle meckern. Dein Problem dürfte folgendes sein: Die Funktion 'AddComponentsFromFiles' benötigt als erstes Argument ein Array. Wenn du nun '...AddComponentsFromFiles(myArray(0), "All")' aufrufst, übergibts du kein Array, sondern das erste Element dieses Array, also einen String. Der Aufruf müßte also '...AddComponentsFromFiles(myArray, "All")' lauten. Oder so:
'...AddComponentsFromFiles(array(myString), "All")' (Hier wird ein String mit der 'array'-Funktion in ein temporäres Array verpackt) mfg Alex
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mathias.bergundthal Mitglied informatiker
Beiträge: 153 Registriert: 03.08.2005 HP xw6000 - WXP Pro SP2 - CATIA V5 R16 SP9 - Visual Studio 2005
|
erstellt am: 26. Jul. 2006 11:08 <-- editieren / zitieren --> Unities abgeben:
Cool Danke Alex aber jetzt habe noch ne frage... Code:
Dim myRootDocument As MECMOD.PartDocument Dim myPartDocument As MECMOD.PartDocument Dim myProduct As MECMOD.PartDocumentIf CATIAType = 1 Then myRootDocument = CATIA.Documents.Open(CATIAFileTemplatePath(0)) myRootDocument.Product.PartNumber = CATIANewFileName myRootDocument.Product.Name = CATIANewFileName myRootDocument.Save() End If
wieso geht die konstellation nur wenn ich ein CATPart öffne... ich meinte das PartDocument Part und Product beinhaltet... nicht? Danke vielmals Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
crow73 Mitglied Maschinenbauingenieur
Beiträge: 64 Registriert: 07.04.2003 CATIA V5R19 SP9 Hotfix 69 Core i7 16 GB RAM W7
|
erstellt am: 06. Jun. 2007 15:03 <-- editieren / zitieren --> Unities abgeben: Nur für mathias.bergundthal
Hallo Mathias, wir haben das gleiche Problem. Leider konnten wir die Lösung nicht nachvollziehen. Wie hast du das "CATIAFileTemplatePath" deklariert und gesetzt, damit die .AddComponentsFromFiles Methode funktioniert?? Ohne das as XXX läuft bei uns gar nichts! Mit freundlichem Gruß Marko Zitat: Original erstellt von mathias.bergundthal: Guten Tag Community,Ich habe da ein kleines Problem was die Deklaration angeht... ich weiss nicht wie ich folgende Variable (CATIAFileTemplatePath) deklarieren muss. Wenn ich sie als string nehme dann geht es für fast alle Fälle bis auf "AddComponent"... und wenn ich Array nehme (statt String) dann kann ich sie nicht setzen. Nun was muss ich tun???? Code:
Dim CATIAFileTemplatePath(0) As String Dim myRootDocument As Document Dim myProduct As ProductStructureTypeLib.Product CATIAFileTemplatePath(0) = WorkFolder & CATIAFile myRootDocument = CATIA.Documents.Open(CATIAFileTemplatePath(0)) myProduct.Products.AddComponentsFromFiles(CATIAFileTemplatePath(0), "All")
Danke für eure Hilfe grüessli, Mathias
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kpr Mitglied
Beiträge: 18 Registriert: 31.03.2005
|
erstellt am: 08. Jun. 2007 14:50 <-- editieren / zitieren --> Unities abgeben: Nur für mathias.bergundthal
Bei mir funktioniert es unter VB2005 und CATIA V5 R16 SP7 wie folgt: mParentProds = mParentProd.Products Dim sName(0) sName(0) = "D:\CATIAVBA\Variante1\Backe1.CATPart" mParentProds.AddComponentsFromFiles(sName, "All") Gruss Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
kpr Mitglied
Beiträge: 18 Registriert: 31.03.2005
|
erstellt am: 08. Jun. 2007 15:03 <-- editieren / zitieren --> Unities abgeben: Nur für mathias.bergundthal
sorry ... mParentProds = mParentProd.Products Dim sName(0) As Object ' Nicht String, sonst Absturz!!! sName(0) = "D:\CATIAVBA\Variante1\Backe1.CATPart" mParentProds.AddComponentsFromFiles(sName, "All") Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |