Hot News:

Mit Unterstützung durch:

  Foren auf CAD.de
  AutoCAD VBA
  Object an SUB übergeben

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
  
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


Sehen Sie sich das Profil von Einstein an!   Senden Sie eine Private Message an Einstein  Schreiben Sie einen Gästebucheintrag für Einstein

Beiträge: 94
Registriert: 20.02.2005

erstellt am: 18. Dez. 2008 20:17    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

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


Sehen Sie sich das Profil von Einstein an!   Senden Sie eine Private Message an Einstein  Schreiben Sie einen Gästebucheintrag für Einstein

Beiträge: 94
Registriert: 20.02.2005

erstellt am: 18. Dez. 2008 21:49    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

...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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

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


Sehen Sie sich das Profil von Einstein an!   Senden Sie eine Private Message an Einstein  Schreiben Sie einen Gästebucheintrag für Einstein

Beiträge: 94
Registriert: 20.02.2005

erstellt am: 18. Dez. 2008 22:32    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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 oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat

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 mit

X = 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


Sehen Sie sich das Profil von Einstein an!   Senden Sie eine Private Message an Einstein  Schreiben Sie einen Gästebucheintrag für Einstein

Beiträge: 94
Registriert: 20.02.2005

erstellt am: 18. Dez. 2008 22:58    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

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 >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2025 CAD.de | Impressum | Datenschutz