Programmieren - alles kontrollieren 4.934 Themen, 20.613 Beiträge

Wie funktioniert das mit mit Visual Basic und den Klasseneigensc

PaoloP / 6 Antworten / Flachansicht Nickles

Also ich erstelle in Visual Basic eine Klasse definiere eine Eigenschaft.


Private cCol as New Collection


PublicProperty Get meineEigenschaft() As Collection
   meineEigenschaft = cCol
End Property


Eine Set/Let Prozedur setze ich nicht damit ist die Eigenschaft nur lesend.
Aber es ist doch ein Object-Zeiger das heisst die Eigenschaften dieses Objects 
bei Collections also die Items können trotzdem vom Client manipuliert werden oder ?
Was passiert wenn der Client sich den Object-Zeiger kopiert?
Kann er dann etwas damit anstellen? Und wenn ich die Eigenschaft in der Klasse
auf Nothing setze verhindert der kopierte Object-Zeiger des Clients dann das sich meine Eigenschaft löscht weil ja noch eine Referenz darauf besteht? Ich bin echt Verwirrt :-(


Viele Grüsse
Mic



 




 

Jedes mal wenn jemand "Cloud" sagt, verliert ein Engel seine Flügel.
bei Antwort benachrichtigen
PaoloP T-Rex „Zuerst mal: Dein Beispiel ist Quark, weil es gar nicht lauffähig ist. So sollte...“
Optionen

Also erstmal danke. Ich habe bei einem Freund in das Programmierhandbuch von VB geschaut und in den 'Richtlinien und Empfehlungen für Objektmodelle in ActiveX Komponenten' steht das man das am besten über die Instancing-Eigenschaft macht. Ich kann dem Client also das Erstellen und meiner Objekt-Klasse grundsätzlich verbieten. Für die Ausgabe werde ich einen CopyConsttruktor schreiben(oder was immer das bei VB ist, muss ich mal schauen) Damit sind meine Probleme der von mir nicht kontrollierbaren Verweise auf Objekte in meiner Komponente sowie ein vollständiges Const ja quasi gelöst.

Ja kann sein das es nicht läuft was ich da geschrieben habe.
VB ist nicht unbedingt meine Welt und es war aus'm Kopf aufs Reisbrett etwas entnervt weil lange nicht gepennt und am Rechner gesessen.

Danke Deine Infos waren mir sehr hilfreich.
Was ist denn ein 'Komma' ?

Jedes mal wenn jemand "Cloud" sagt, verliert ein Engel seine Flügel.
bei Antwort benachrichtigen