Objekt intern als ByVal speichern

DrMueller

Erfahrenes Mitglied
Hallo Leute mal wieder,
folgende Frage: Kann ich irgendwie ein Objekt ByVal, also das es nicht verändert wird, in einer Funktion speichern?
Ich habs versucht in ein Array zu tun, aber dort ists ebenfalls byref, ebenso in einer Col, da hats schon gar nicht geklappt.

Das Problem ist, dass das Objekt ein Control ist, das sich immer ändert. Ich müsste jedoch das Grundcontrol speichern,da ich von der Logik her die Grundwerte brauche.
 
Soweit ich weiss geht das nicht. Das hat etwas mit der internen Speicherverwaltung von VB zu tun. Die Übergabe / Verwaltung bei Ref hat den Vorteil, dass der Speicherbedarf aller Objekte ( also auch strings usw. ) relativ gering bleibt, da keine Kopien im Speicher ( von Speicherstellen ) irgendwo vorgehalten werden müssen.
Die einzige Möglichkeit die ich für dein Problem sehe wäre ein abstraktes objekt indem einfach zu beginn alle Eigenschaften mit ihren Werten reingeschrieben werden und später dann wieder ausgelesen werden.
irgendwie so :
Visual Basic:
dim prop as object 
dim contr as object 

for each contr in me.controls 
   for each prop in contr.properties
        ' jetzt speichern
         debug.print prop.name & ";" prop.value 
  next prop
next contr

und für das zurückschreiben dann so ähnlich

Grüsse bb

for each item in objects
 
ok danke, überlege ich mir irgend etwas.
Dachte ich frage lieber nach, bevor ich eben so Übungen anfange zu programmieren und dann rausfinde, dass eine einfache Funktion es getan hätte.
 

Neue Beiträge

Zurück