| |  | Gut zu wissen: Hilfreiche Tipps und Tricks aus der Praxis prägnant, und auf den Punkt gebracht für Autodesk Produkte | | |  | NVIDIA GTC Paris und ISC High Performance-Konferenz 2025, eine Pressemitteilung
|
Autor
|
Thema: Object an SUB übergeben (936 mal gelesen)
|
Einstein Mitglied Zerspanungsmechaniker-Drehtechnik

 Beiträge: 94 Registriert: 20.02.2005
|
erstellt am: 18. Dez. 2008 20:17 <-- editieren / zitieren --> Unities abgeben:         
Hallo Forum, hab mal ne Frage, bei der ich nicht einmal weis, ob es überhaupt umsetzbar ist... es geht um folgenden Code: Code: Public MarkerPLCStatus As Object = "M1083" ... ... ... ReadReg(MarkerPLCStatus) ... ... ... Public Sub ReadReg(ByVal ReadValue As Object) ReadValue = GetValue(MainRegKey, ReadValue, ReadValue) End Sub
Damit ich mit der Zeile Code: ReadValue = GetValue(MainRegKey, ReadValue, ReadValue)
Daten aus der Registry lesen kann, müsste Visual Basic den Fett markierten ReadValue als String MarkerPLCStatus und nicht als dessen initialisierten Wert "M1083" interpretieren. Gibt es einen Befehl, welchen ich dem Code ReadValue voransetzen muss, damit Basic mit "MarkerPLCStatus" arbeitet?P.S.: Visual Basic interpretiert den Text bis jetzt so: Code: ReadValue = GetValue(HKEY_CURRENT_USER\Software\TTi, "M1083", "M1083")
...ich möchte das der Code wie folgt interpretiert wird... Code: ReadValue = GetValue(HKEY_CURRENT_USER\Software\TTi, "MarkerPLCStatus", "M1083")
------------------ MfG A. Einstein
P.S. Rechtschreibefehler sind gewollt und dienen der allgemeinen Belustigung! [Diese Nachricht wurde von Einstein am 18. Dez. 2008 editiert.] [Diese Nachricht wurde von Einstein am 18. Dez. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 18. Dez. 2008 21:13 <-- editieren / zitieren -->
Hi, entschuldige eine kurze Rückfrage, was hat Deine Frage mit 'AutoCAD VBA' zu tun? Des weiteren kenne ich keine Funktion 'GetValue' (im Zusammenhang mit Registry), mag sein, dass es Libraries gibt, mit denen Du arbeitest, aber dann sollte(n) diese erwähnt werden, damit entsprechend geantwortet werden kann. Allgemeines zu Registry: Da werden bereits viele Bereiche von Admin's gesperrt, ich würde mich nicht (mehr) darauf verlassen, dort etwas abzulegen bzw. ablegen zu können!! Zum Schreiben und Lesen von Registry-Einträgen habe ich dazumals die beiden Funktionen 'GetSetting' und 'SaveSetting' (Definition in VBA.Interaction, damit sowohl in VB6 als auch in VBA verwendbar) verwendet, sind in der MSDN-Hilfe enthalten samt Beispielen dazu. Hoffe es hilft, - alfred - [Diese Nachricht wurde von a.n. am 18. Dez. 2008 editiert.] |
Einstein Mitglied Zerspanungsmechaniker-Drehtechnik

 Beiträge: 94 Registriert: 20.02.2005
|
erstellt am: 18. Dez. 2008 21:49 <-- editieren / zitieren --> Unities abgeben:         
...Ja, mit AutoCAD VBA hat's echt nix zu tun. Doch ich habe hier immer schon gute Hilfe und Antworten bekomm, dass ich diese Frage hier poste. GetValue ist Bestandteil des Namespaces "microsoft.Win32.Registry"...Doch das sollte eigendlich keine Rolle spielen. Ich will nur eine ganz allgemeine Frage zu VB beantwortet haben (Siehe P.S.: erster post) ------------------ MfG A. Einstein P.S. Rechtschreibefehler sind gewollt und dienen der allgemeinen Belustigung! [Diese Nachricht wurde von Einstein am 18. Dez. 2008 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 18. Dez. 2008 22:14 <-- editieren / zitieren -->
Hi, darf ich davon ausgehen (aus letztem Mail), dass Du mit dotNET arbeitest? Die Korrektur oben hat gut getan, jetzt verstehe ich besser, worauf Du hinaus willst. Gib mir noch Hintergrundinfo's vom Workflow, wo Du das brauchst, denn wenn Du schon einen Variablennamen 'hardcodest', wieso schreibst Du das dann nicht genauso hart codiert unten hinein? Wenn dotNET, dann könnte man mit Reflection schon ein wenig in Klasseneigenschaften hineinsehen, aber ohne Workflow fehlt mir momentan jede Idee der Anwendung. - alfred - |
Einstein Mitglied Zerspanungsmechaniker-Drehtechnik

 Beiträge: 94 Registriert: 20.02.2005
|
erstellt am: 18. Dez. 2008 22:32 <-- editieren / zitieren --> Unities abgeben:         
Ja genau - mit .Net. Als Anhaltspunkt: Ich will nachdem Codebeispiel ca. 30 Variablen/Schlüssel in die Registry eintragen/ändern/löschen und natürlich auslesen. Ich wollt's nicht "hardcoden" um redundante Daten zu vermeiden. Letztendlich wäre dieser Code (wenn er denn funktionieren würde) extrem wartungsfreundlich und flexibel. ------------------ MfG A. Einstein P.S. Rechtschreibefehler sind gewollt und dienen der allgemeinen Belustigung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 18. Dez. 2008 22:48 <-- editieren / zitieren -->
Hi, klingt für mich anders als ich es lösen würde. Grundsätzlich kannst Du Dir, wenn Du Klassen definieren willst, diese auch mit Reflection analysieren, sprich darin definierte Properties (public and private) herauskitzeln (geht bis hin zu in der Klasse definierten Methoden und Funktionen). Wenn Du die Struktur der Klasse durchhast, dann kannst Du für jede Instanz die (jetzt mal für Property) den entsprechenden gespeicherten Wert (oder Pointer zu Objekt) herausholen. ==>ich sag mal, das ist ein wenig viel für die Aufgabe, die Du beschrieben hast, die würde ich wie folgt lösen: Bau Dir eine Collection mit Config-Werten, z.B.
Code: Dim tConfColl as Collection = New Collection tConfColl.Add("MarkerPLCStatus","M1083") '==>damit legst Du ein neues Element in Deine Collection, das über den Key 'MarkerPLCStatus' jederzeit abrufen kannst mitX = tConfColl.Item("MarkerPLCStatus")
UND NOCHWAS: Wenn es Dir darum geht, Applikationseinstellungen zu speichern, dann schau Dir bitte in der Hilfe 'System.Settings' an, damit bist Du von Registry unabhängig, kannst die Einstellungen unter 'Projekteigenschaften' Deines Projekts einfach angeben und im Code dann simple abrufen/schreiben, z.B.
Code: X = My.Settings.MarkerPLCStatus 'Speichern kannst Du mit My.Settings.Save
==>alles easy Wie geht's Dir damit?
- alfred - [Diese Nachricht wurde von a.n. am 18. Dez. 2008 editiert.] |

| Anzeige: | Infos zum Werbeplatz >> | yasuCAD CAD APP für Tiefbau, Umwelt Since 1985, AnkiSOFT Software developes software to design infrastructure projects.
yasuCAD has been developed for Stormwater Network Design. It is for Drawing / Modelling / Planning / Design / Analyze the stormwater network.
The software works under AutoCAD or ZWCAD.
|
|
Einstein Mitglied Zerspanungsmechaniker-Drehtechnik

 Beiträge: 94 Registriert: 20.02.2005
|
erstellt am: 18. Dez. 2008 22:58 <-- editieren / zitieren --> Unities abgeben:         
Danke für deine schnelle Hilfe! ...Werd mich morgen gleich mal näher damit beschäftigen! ------------------ MfG A. Einstein P.S. Rechtschreibefehler sind gewollt und dienen der allgemeinen Belustigung! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |