| |
 | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte |
| |
 | PNY präsentiert die PRO Elite™ High Endurance microSD-Flash-Speicherkarten für Videoüberwachung und kontinuierliche Aufzeichnung, eine Pressemitteilung
|
Autor
|
Thema: Dictionaries ein und auslesen, was mach ich falsch? (821 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: 1360 Registriert: 24.07.2002 AutoCAD ACA 2024 Solidworks 2022 Sp5 Enterprise PDM 2022 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell Precision 3660 Intel Core i9-12900K 32 GB Arbeitsspeicher 2x Dell U2415
|
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: 1360 Registriert: 24.07.2002 AutoCAD ACA 2024 Solidworks 2022 Sp5 Enterprise PDM 2022 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell Precision 3660 Intel Core i9-12900K 32 GB Arbeitsspeicher 2x Dell U2415
|
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: 1360 Registriert: 24.07.2002 AutoCAD ACA 2024 Solidworks 2022 Sp5 Enterprise PDM 2022 Sp5 Pascam Woodworks Visual Studio 2017 Pro Windows 10 64Bit Dell Precision 3660 Intel Core i9-12900K 32 GB Arbeitsspeicher 2x Dell U2415
|
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 |