set in vb6.0 = Property set in vb.net?

winny-sps

Grünschnabel
Hallo,

ich bin neu in vb.net eingestiegen. Ich habe eine Code der in vb6.0 geschrieben ist im Internet gefunden:
>...
>Dim WithEvents ConnectedOPCServer As OPCAutomation.OPCServer
>Dim ConnectedServerGroup As OPCAutomation.OPCGroups
>....
>ConnectedOPCServer = New OPCAutomation.OPCServer
>Set ConnectedServerGroup = ConnectedOPCServer.OPCGroups
>....
Der Set wird bei der Eingabe in vb.NET automatisch entfernt, da er nicht mehr unterstützt wird.
Meine Fragen: Ist der Set Befehl in VB6.0 gleich dem Aufruf der Property Set einer Klasse in VB.Net?
Was macht set in VB6.0?
Hätte ich nicht vor dem benutzen von ConnectedServerGroup ein Objekt mit ConnectedServerGroup = NEW OPCAutomation.OPCGroups anlegen müssen?

Die entsprechende DLL ist natürlich eingebunden. Das Programm bricht zur Laufzeit bei:
>ConnectedServerGroup = ConnectedOPCServer.OPCGroups
ab mit " Rückgabe wert muß kleiner als unendlich sein"
Dies geschieht übrigens auch wenn ich:
>Set ConnectedServerGroup = ConnectedOPCServer.OPCGroups
weglasse und stadt dessen
>Console.Writeline(ConnectedOPCServer.OPCGroups)
eingebe. Meine Vermutung ist daher das ein Fehler in der DLL vorliegt!? Obige Fragen hätte ich trotzdem gern beantwortet.

Danke, Winny
 
Hi,

Get uns set sind in .NET Getter und Setter von Properties. Beides sind eine Art Methoden, in denen Code ausgeführt werden kann.
Set in VB6 dient(e) zum instanzieren von Objekten.
Beide haben also mit einander nichts zu tun
 
Also ist in VB6.0

>Dim objekt AS namespace.Class
>set objekt = namespace.Class

äquivalent zu .NET

>Dim Objekt AS namespace.Class
>Objekt= NEW namespace.Class

Oder verstehe ich da wieder was falsch?
 
Zuletzt bearbeitet:
Morgen

Bin in VB nicht so bewandert, würde aber mal behaupten ja. Evtl. Syntaxfehler sagt dir ja der Kompiler.

PS: könntest du deinen Quellcode beim nächsten mal bitte in die entsprechenden Code-Tags setzen. Das verbessert die Lesbarkeit. Danke
 
Zurück