| |
| Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
Autor
|
Thema: Dictionaries ein und auslesen, was mach ich falsch? (757 mal gelesen)
|
chaoskeeper Mitglied Informatiker
Beiträge: 4 Registriert: 05.03.2007
|
erstellt am: 05. Mrz. 2007 11:52 <-- editieren / zitieren --> Unities abgeben:
also hier ist der Code Code: Private Sub AcadDocument_EndCommand(ByVal CommandName As String) ' On Error Resume Next Dim datanow(0 To 31) For i = 0 To 31 datanow(i) = "Value " & i Next WriteXRec "FirstLine", datanow ReadXRec "FirstLine", datanow End SubPublic Sub WriteXRec(varName As String, ByVal Data As Variant) Dim oDict As AcadDictionary Dim oXRec As AcadXRecord Dim dxfCode(0 To 31) As Integer Set oDict = ThisDrawing.Dictionaries.Add(ModName) Set oXRec = oDict.AddXRecord(varName) On Error Resume Next For i = 0 To 31 dxfCode(i) = i Next oXRec.SetXRecordData dxfCode, Data End Sub Public Sub ReadXRec(varName As String, ByRef Data As Variant) Dim oDict As AcadDictionary Dim oXRec As AcadXRecord Dim dxfCode Dim dxfData(0 To 31) Set oDict = ThisDrawing.Dictionaries(ModName) Set oXRec = oDict.GetObject(varName) oXRec.GetXRecordData dxfCode, Data End Sub
entweder der schreibt die Werte nicht in die Dictionaries rein, oder er liest sie nicht raus vielen dank für jede Hilfe Lars Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
chaoskeeper Mitglied Informatiker
Beiträge: 4 Registriert: 05.03.2007
|
erstellt am: 05. Mrz. 2007 12:03 <-- editieren / zitieren --> Unities abgeben:
|
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002 AutoCAD ACA 2018 Solidworks 2016 Sp5 Enterprise PDM 2016 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Samsung S24C650 Dell M4800
|
erstellt am: 05. Mrz. 2007 12:44 <-- editieren / zitieren --> Unities abgeben: Nur für chaoskeeper
Hi und Willkommen Lars, Du gibst dem Xrecord ja nur den folgenden Eintrag mit: Set oXRec = oDict.AddXRecord(varName) Da müsstest du ihm auch die restlichen Werte mitgeben. Durchlauf deinen Code mal Schrittweise und schau dir deine Variablen im Lokal-Fenster an. Da wirst du sehen, das du dem Xrecord nur den ersten Wert ("Fistline") mitgibst. Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
chaoskeeper Mitglied Informatiker
Beiträge: 4 Registriert: 05.03.2007
|
erstellt am: 05. Mrz. 2007 14:16 <-- editieren / zitieren --> Unities abgeben:
erstmal danke für die Antwort, aber ich geb dem schon die Werte Set oXRec = oDict.AddXRecord(varName) On Error Resume Next For i = 0 To 31 dxfCode(i) = i Next oXRec.SetXRecordData dxfCode, Data bei dem Schritt-für-Schritt dingens zeigt er mir alle Positionen in "Data" als Empty wenn ich es wieder rauslesen will
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002 AutoCAD ACA 2018 Solidworks 2016 Sp5 Enterprise PDM 2016 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Samsung S24C650 Dell M4800
|
erstellt am: 05. Mrz. 2007 14:21 <-- editieren / zitieren --> Unities abgeben: Nur für chaoskeeper
|
chaoskeeper Mitglied Informatiker
Beiträge: 4 Registriert: 05.03.2007
|
erstellt am: 05. Mrz. 2007 14:43 <-- editieren / zitieren --> Unities abgeben:
|
Carsten1210 Mitglied staatl. geprüfter Holztechniker
Beiträge: 1357 Registriert: 24.07.2002 AutoCAD ACA 2018 Solidworks 2016 Sp5 Enterprise PDM 2016 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell T3620 Intel Core i7-7700K 16 GB Arbeitsspeicher 2x Samsung S24C650 Dell M4800
|
erstellt am: 05. Mrz. 2007 14:45 <-- editieren / zitieren --> Unities abgeben: Nur für chaoskeeper
Hi, Gib dem Xrecord das doch mal so mit: Set oDict = ThisDrawing.Dictionaries.Add(modname) Set oXRec = oDict.AddXRecord(varName) On Error Resume Next For i = 1 To 32 Set oXRec = oDict.AddXRecord(Data(i)) Next oXRec.SetXRecordData dxfCode, Data Gruß, Carsten Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |