vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 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

Fortgeschrittene Programmierung
Re: Collection nicht ByRef sondern ByVal? 
Autor: Blackbox
Datum: 15.11.13 16:33

Hi,

dazu brauchst Du einfach eine neue Klasse. Nimm ein Klassenmodul, nenne es zB: NewCol. In dieser Klasse einfach ein Collection-Objekt nachbauen, aber mit einer zusätzlichen Methode: Clone. Optional auch noch eine zusätzliche: Clear.

Private m_Col As Collection
 
Private Sub Class_Initialize()
    Set m_Col = New Collection
End Sub
 
Private Sub Class_Terminate()
    Set m_Col = Nothing
End Sub
 
Public Sub Add(vItem As Variant, Optional Key As Variant, Optional Before As _
  Variant, Optional After As Variant)
    m_Col.Add vItem, Key, Before, After
End Sub
 
Public Function Count() As Long
    Count = m_Col.Count
End Function
 
Public Function Item(nIndex As Variant) As Variant
    Item = m_Col.Item(nIndex)
End Function
 
Public Sub Remove(nIndex As Variant)
   m_Col.Remove (nIndex)
End Sub
 
Public Sub Clear()
    Set m_Col = Nothing
    Set m_Col = New Collection
End Sub
 
Public Property Let CloneFrom(obj As Collection)
    Dim v As Variant
 
    Clear
    For Each v In obj
       m_Col.Add v
    Next
End Property
Dann einsetzen:

Private mCol As NewCol
Private thiscol As Collection
 
Private Sub test()
    Dim v As Variant
 
    Set mCol = New NewCol
    Set thiscol = New Collection
 
    thiscol.Add "Test"
    thiscol.Add "Test2"
    thiscol.Add "Test3"
 
    mCol.CloneFrom = thiscol
    Debug.Print mCol.Count
 
    thiscol.Add "Test4"
    thiscol.Add "Test5"
 
    Debug.Print mCol.Count
 
End Sub


Beitrag wurde zuletzt am 15.11.13 um 16:38:25 editiert.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Collection nicht ByRef sondern ByVal?3.253Jacyrio15.11.13 11:31
Re: Collection nicht ByRef sondern ByVal?1.213Blackbox15.11.13 16:33
Re: Collection nicht ByRef sondern ByVal?1.431Blackbox15.11.13 17:37
Re: Collection nicht ByRef sondern ByVal?1.096Manfred X15.11.13 18:35
Re: Collection nicht ByRef sondern ByVal?1.075Blackbox15.11.13 20:53
Re: Collection nicht ByRef sondern ByVal?1.060Manfred X15.11.13 21:41
Re: Collection nicht ByRef sondern ByVal?1.086Blackbox15.11.13 21:55
Re: Collection nicht ByRef sondern ByVal?1.114Manfred X15.11.13 22:40

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