pavelstyl
01.03.2010, 13:50
Dobrý den, obracím se na vás s žádostí o pomoc při programování utilitky
pro Inventor.Níže přikládám část zdrojového kódu, který rekurzivně
vypisuje "strom" sestavy.Problém je v tom, že to občas spadne.
Spustím procedurku Test a vše je ok. Spustím ji podruhé, vše je OK. Spustím
ji potřetí a program spadne. Zajímavé je, že program spadane pokaždé jinde. Když z toho udělám exe, tak Release varianta spadne vždy, Debug varianta jenom někdy :-(
Nevidím tam chybu, ale protože s programováním v Inventoru teprve začínám,
tak ji nemohu vyloučit.
Pracuji na WinXP+SP3 EN, Inventor Professional 2009+SP2, Microsoft Visual
Basic Express Edition 2008+SP1
Děkuji za jakoukoliv raduS pozdravem Pavel Štyl[CODE] Private Sub Test() Dim file1 As String = "D:\Inventor\Praha\221A2 Drive Unit\CAT01_CK_221A2-M1000_ZSZ001.iam" Dim invApprentice As New ApprenticeServerComponent Dim doc As ApprenticeServerDocument doc = invApprentice.Open(file1) LinkedDocuments(doc, 0) invApprentice = Nothing End Sub Private Sub LinkedDocuments(ByVal doc As ApprenticeServerDocument, ByVal hl As Integer) Dim ld As Inventor.ReferencedFileDescriptor Debug.Print(Space(hl * 2) & "LiDo " & doc.FullFileName) For Each ld In doc.ReferencedFileDescriptors Debug.Print(Space(hl * 2) & "- " & ld.FullFileName) LinkedDocuments(ld.ReferencedDocument, hl + 1) Debug.Print(Space(hl * 2) & "- return") Next End Sub[/CODE]
pro Inventor.Níže přikládám část zdrojového kódu, který rekurzivně
vypisuje "strom" sestavy.Problém je v tom, že to občas spadne.
Spustím procedurku Test a vše je ok. Spustím ji podruhé, vše je OK. Spustím
ji potřetí a program spadne. Zajímavé je, že program spadane pokaždé jinde. Když z toho udělám exe, tak Release varianta spadne vždy, Debug varianta jenom někdy :-(
Nevidím tam chybu, ale protože s programováním v Inventoru teprve začínám,
tak ji nemohu vyloučit.
Pracuji na WinXP+SP3 EN, Inventor Professional 2009+SP2, Microsoft Visual
Basic Express Edition 2008+SP1
Děkuji za jakoukoliv raduS pozdravem Pavel Štyl[CODE] Private Sub Test() Dim file1 As String = "D:\Inventor\Praha\221A2 Drive Unit\CAT01_CK_221A2-M1000_ZSZ001.iam" Dim invApprentice As New ApprenticeServerComponent Dim doc As ApprenticeServerDocument doc = invApprentice.Open(file1) LinkedDocuments(doc, 0) invApprentice = Nothing End Sub Private Sub LinkedDocuments(ByVal doc As ApprenticeServerDocument, ByVal hl As Integer) Dim ld As Inventor.ReferencedFileDescriptor Debug.Print(Space(hl * 2) & "LiDo " & doc.FullFileName) For Each ld In doc.ReferencedFileDescriptors Debug.Print(Space(hl * 2) & "- " & ld.FullFileName) LinkedDocuments(ld.ReferencedDocument, hl + 1) Debug.Print(Space(hl * 2) & "- return") Next End Sub[/CODE]