vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Visual-Basic Einsteiger
Re: CallByName für Typen 
Autor: VBStein
Datum: 26.08.08 17:55

Hai,

im Grunde ist deine Idee gar nicht so abwegig, da man eine Stuktur ja als eine Klasse verstehen kann, deren Member stets public sind. Hätten wir es mit C++ zu tun, also kein Problem.

Im Fall von VB und CallByName aber ist das eine Fehlanzeige, da Klassen in VB6 eigentlich keine richtigen Klassen im Sinne von C++ sind. CallByName benötigt eine Instanz eines COM-Objekts.

Unter dem Strich bedeutet das, dass Du deine Struktur-Member in ein Klassenmodul packen musst, dann kannst du es wie gewünscht mit CallByName aufrufen.

Das meint dann so:

statts also

Private Type MyType
   A As Long
   B As Long
End Type
 
Dim t As MyType
 
t.A = 4
Nimmst Du ein Klassenmodul.

Public A As Long
Public B As Long

das als die Eigenschaften der Klasse

Dann

Private MyClass As clsDieseKlasse

Set MyClass = New clsDieseKlasse

CallByName MyClass, "A", vbLet, 4

-> aus CallByName MyClass, Text1.Text, vbLet, 4

oder

MyClass.A = 4

um der Eigenschaft A der Klasse MyClass den Wert 4 zu geben.
Wenn man es genau betrachtet sind es eigentlich nur ein Klassenmodul mehr und ein paar Zeilen.
Man sollte in VB sowieso Klassen den Strukturen vorziehen, weil wir proggen ja ooP - oder nicht?

Beitrag wurde zuletzt am 26.08.08 um 18:14:56 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
CallByName für Typen737cheezburgla26.08.08 11:16
Re: CallByName für Typen497VBStein26.08.08 17:55
Re: CallByName für Typen429cheezburgla27.08.08 10:14

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel