Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Problems with collections
Message
Information générale
Forum:
Visual FoxPro
Catégorie:
Codage, syntaxe et commandes
Versions des environnements
Visual FoxPro:
VFP 9 SP1
OS:
Windows XP SP2
Network:
Windows 2008 Server
Database:
MS SQL Server
Divers
Thread ID:
01356180
Message ID:
01356309
Vues:
23
James,

I use collections heavily in almost everything I write with VFP. Yet, I'm a bit confused as to exactly what the issues are in this situation.

First, if This.Fields is a collection of *objects* with identical property names and counts, are those contained objects based on the Empty class? If not (say, they're based on the Custom or Relation class, for instance), you may be getting method and/or event names you don't want along with your property names. That's not a good thing, and could be messing up your result object.

Second, what *exactly* are the (undesired) differences between the source object in This.Fields and the resulting object in loProperties.Fields? A bit more information would be helpful here...

Third, what leads you to believe that loProperties.Fields(1) "actually looks like a collection itself" ? Does that object have a base class of Collection when you look at it in the Debugger?


>I'm having problems working with Collections (not surprisingly, since this is my very first time creating a collection).
>
>I have a form with a collection named .Fields .... This.Fields (I've inherited this from somebody else). Each item in This.Fields is an object with the same simple list of properties.
>
>I want to copy the entire collection into an object I've created called loProperties. Now, I don't want to copy an object reference, since my goal is to later compare the values in This.Fields with loProperties.Fields. to see which have changed.
>
>My code to do this follows. When done, however, loProperties.Fields(1) does not have the same list of properties as This.Fields(1) --- it actually looks like a collection itself.
>
>Can anybody identify what I'm doing wrong here? (Note: loFields looks like the collection I would expect ... but loProperties.Fields doesn't)
>
>
	loFields = Createobject("Collection")
>	For lnJ = 1 To This.Fields.Count
>		m.loData = Createobject("Empty")
>		Amembers(laFieldMembers, This.Fields(lnJ))
>		For Each lcFieldMem In laFieldMembers)
>			AddProperty(m.loData, lcFieldMem, Evaluate("This.Fields(lnJ)." + lcFieldMem))
>		Endfor
>
>		loFields.Add(m.loData)
>	Next lnJ
>	AddProperty (loProperties, 'Fields', loFields)
>
Evan Pauley, MCP
Positronic Technology Systems LLC
Knoxville, TN

If a vegetarian eats vegetables, what does a humanitarian eat?
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform