[AccessD] ParamArray problem

Arthur Fuller artful at rogers.com
Sat Mar 13 14:44:13 CST 2004


First of all, why on earth would you want to pass a class? I'm a little
dim but can't imagine a circumstance where that would prove useful. Even
in the factory design pattern, you don't pass an actual class.

While pondering this, I thought for a moment that one approach might be
to create a collection. One cool thing about collections is that the
members need have almost nothing in common. I was thinking about this as
a way around the tight coupling of the dependent objects class that JC
was proposing. I didn't try it, JC, but could that approach work? You
could have a collection of dependent objects, with one "parent" and as
many "children" as depend on that parent. None of the controls would
need to know the name of any other. Just a thought....

Arthur


-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com] On Behalf Of John W. Colby
Sent: Thursday, March 11, 2004 5:14 AM
To: Access Developers discussion and problem solving
Subject: RE: [AccessD] ParamArray problem


Sorry, meant to say:

>Indeed you CAN'T dim the array as specific class types AFAICT.

If you look up ParamArrays in help it says that you can type the array
as any of the built-in types including objects, but not custom types
such as classes.

John W. Colby
www.ColbyConsulting.com

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of John W. Colby
Sent: Thursday, March 11, 2004 7:17 AM
To: Access Developers discussion and problem solving
Subject: RE: [AccessD] ParamArray problem


>Haven't looked into the Paramarray question as I've always passed 
>arrays of
strong types or of variants.

In this case the array will be passing in objects, i.e. classes, but the
class instances can be a combo class, a text class, a list class etc.
Since each is a different class, I pass them as objects.  Indeed you dim
the array as specific class types AFAICT.

John W. Colby
www.ColbyConsulting.com

-----Original Message-----
From: accessd-bounces at databaseadvisors.com
[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of Jürgen Welz
Sent: Thursday, March 11, 2004 1:05 AM
To: accessd at databaseadvisors.com
Subject: RE: [AccessD] ParamArray problem


In .NET, if you pass an object ByVal, it is still passed ByRef.  No
error or notification.  It just changes it.  Haven't looked into the
Paramarray question as I've always passed arrays of strong types or of
variants.



Ciao
Jürgen Welz
Edmonton, Alberta
jwelz at hotmail.com





>From: bruce_bruen at mlc.com.au
>
>
>
>
>
> >"for each next" to iterate the array and found something
>in an "empty" array."
>
>Now that does sound strange.
>
>The VB help for .NET certainly says that FOREACH should not execute on 
>a paramarray with .length=0 However, prior to .NET all paramarrays were

>passed as byrefs (hence my comment on them being heap pointers)  in 
>.NET they are always byvals.
>
>Looks like there may be a situation in the VBA where the pointer is 
>initialised to a "random" heap pointer under some circumstances - that 
>would be bloody great hole!
>
>have fun
>B
>
>
>
>                       "John W. Colby"
>
>
>
>
>
> >I also seem to remember that passing objects in paramarrays is a nono

> >you
>can only pass value items (???)
>
>Help says objects can be passed, or at least the array can be declared 
>as type object.
>
>And I was using a "for each next" to iterate the array and found 
>something in an "empty" array.
>
>John W. Colby
>www.ColbyConsulting.com
>
>-----Original Message-----
>From: accessd-bounces at databaseadvisors.com
>[mailto:accessd-bounces at databaseadvisors.com]On Behalf Of 
>bruce_bruen at mlc.com.au
>Sent: Wednesday, March 10, 2004 11:58 PM
>To: Access Developers discussion and problem solving
>Subject: Re: [AccessD] ParamArray problem
>
>
>
>
>
>
>John,
>
>What you've written it looks right, bu I must ask how do you know there

>is "something" in the ParamArray?  I would not expect it to be equal to

>a null, it is (I can remember which) actually a stack or heap pointer.

>I also seem to remember that passing objects in paramarrays is a nono 
>you can only pass value items (???) , but its been months since I've 
>VBA'd so to speak so I could be wrong on that.
>
>
>...meanwhile back to the C#
>
>hth
>Bruce
>
>
>
>                       "John W. Colby"
>                       <jwcolby at colbyconsulting.        To:
"AccessD"
><AccessD at databaseadvisors.com>
>                       com>                             cc:
>                       Sent by:                         Subject:
[AccessD]
>ParamArray problem
>                       accessd-bounces at databasea
>                       dvisors.com
>
>
>                       11/03/2004 15:43
>                       Please respond to Access
>                       Developers discussion and
>                       problem solving
>
>
>
>
>
>
>I am doing an init() method of a class that looks like:
>
>Public Sub Init(ByRef robjParent As Object, ParamArray lDepObjsArr() As
>Variant)
>
>where robjParent = a pointer to the parent class (ME)
>
>and ParamArray lDepObjsArr() As Variant MAY BE an array of dependent 
>object classes but specifically at the moment isn't being passed 
>anything.  I.e. the calling function looks like
>
>MyClass.Init me
>
>I am passing in a pointer to self in the first parameter and nothing at

>all for the array.
>
>Since it is an array that can contain variable number of objects I 
>expected it to allow this.  However when I get inside the init() the 
>lDepObjsArr has something in it.  That something is NOT a class, and I 
>can't debug.print the value...
>
>What the heck is going on here?  Can I not do this (not pass anything 
>to a paramarray?
>
>John W. Colby
>www.ColbyConsulting.com

_________________________________________________________________
STOP MORE SPAM with the MSN Premium and get 2 months FREE*
http://join.msn.com/?pgmarket=en-ca&page=byoa/prem&xAPID=1994&DI=1034&SU
=htt
p://hotmail.com/enca&HL=Market_MSNIS_Taglines

--
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



--
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com



-- 
_______________________________________________
AccessD mailing list
AccessD at databaseadvisors.com
http://databaseadvisors.com/mailman/listinfo/accessd
Website: http://www.databaseadvisors.com




More information about the AccessD mailing list