ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   ByRef argument type mismatch when passing dictionary object (https://www.excelbanter.com/excel-programming/403836-byref-argument-type-mismatch-when-passing-dictionary-object.html)

signon77

ByRef argument type mismatch when passing dictionary object
 
Hello all,

In one function I am doing the following:

Dim dictMenuOptions As Dictionary
Set dictMenuOptions = New Dictionary
dictMenuOptions.Add "EDIT", "BtnEdit_Click"
dictMenuOptions.Add "COPY", "BtnCopy_Click"
dictMenuOptions.Add "DELETE", "BtnDelete_Click"
dictMenuOptions.Add "PKG EDIT",
"BtnPackageEditor_Click"
dictMenuOptions.Add "OFFICIAL",
"BtnOfficial_Click"

Call RightClick_BlotterMenu(dictMenuOptions)

The first line of "RightClick_BlotterMenu" is defined as :

Sub RightClick_BlotterMenu(MenuOptionsDictionary As
Dictionary)

Does anyone know why I am getting a "ByRef argument type mismatch" ?

Bob Phillips

ByRef argument type mismatch when passing dictionary object
 
Works fine for me.

I presume you have set a reference, and this is all in a standard code
module?

--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



"signon77" wrote in message
...
Hello all,

In one function I am doing the following:

Dim dictMenuOptions As Dictionary
Set dictMenuOptions = New Dictionary
dictMenuOptions.Add "EDIT", "BtnEdit_Click"
dictMenuOptions.Add "COPY", "BtnCopy_Click"
dictMenuOptions.Add "DELETE", "BtnDelete_Click"
dictMenuOptions.Add "PKG EDIT",
"BtnPackageEditor_Click"
dictMenuOptions.Add "OFFICIAL",
"BtnOfficial_Click"

Call RightClick_BlotterMenu(dictMenuOptions)

The first line of "RightClick_BlotterMenu" is defined as :

Sub RightClick_BlotterMenu(MenuOptionsDictionary As
Dictionary)

Does anyone know why I am getting a "ByRef argument type mismatch" ?




joel

ByRef argument type mismatch when passing dictionary object
 
ByRef is the default, you need ByVal

Sub RightClick_BlotterMenu(ByVal MenuOptionsDictionary As
Dictionary)


"signon77" wrote:

Hello all,

In one function I am doing the following:

Dim dictMenuOptions As Dictionary
Set dictMenuOptions = New Dictionary
dictMenuOptions.Add "EDIT", "BtnEdit_Click"
dictMenuOptions.Add "COPY", "BtnCopy_Click"
dictMenuOptions.Add "DELETE", "BtnDelete_Click"
dictMenuOptions.Add "PKG EDIT",
"BtnPackageEditor_Click"
dictMenuOptions.Add "OFFICIAL",
"BtnOfficial_Click"

Call RightClick_BlotterMenu(dictMenuOptions)

The first line of "RightClick_BlotterMenu" is defined as :

Sub RightClick_BlotterMenu(MenuOptionsDictionary As
Dictionary)

Does anyone know why I am getting a "ByRef argument type mismatch" ?


signon77

ByRef argument type mismatch when passing dictionary object
 
On Jan 8, 1:45*pm, "Bob Phillips" wrote:
Works fine for me.

I presume you have set a reference, and this is all in a standard code
module?

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"signon77" wrote in message

...



Hello all,


In one function I am doing the following:


* * * * * * * * * * Dim dictMenuOptions As Dictionary
* * * * * * * * * *Set dictMenuOptions = New Dictionary
* * * * * * * * * *dictMenuOptions.Add "EDIT", "BtnEdit_Click"
* * * * * * * * * *dictMenuOptions.Add "COPY", "BtnCopy_Click"
* * * * * * * * * *dictMenuOptions.Add "DELETE", "BtnDelete_Click"
* * * * * * * * * *dictMenuOptions.Add "PKG EDIT",
"BtnPackageEditor_Click"
* * * * * * * * * *dictMenuOptions.Add "OFFICIAL",
"BtnOfficial_Click"


* * * * * * * * * *Call RightClick_BlotterMenu(dictMenuOptions)


The first line of "RightClick_BlotterMenu" is defined as :


* * * * * * * * *Sub RightClick_BlotterMenu(MenuOptionsDictionary As
Dictionary)


Does anyone know why I am getting a "ByRef argument type mismatch" ?- Hide quoted text -


- Show quoted text -



Hi Bob

When you say "set a reference" what does that mean?

Rob



Bob Phillips

ByRef argument type mismatch when passing dictionary object
 
In the VBIDE, ToolsReferences, and scroll down to Microsoft Scripting
Runtime, and check that box.

--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



"signon77" wrote in message
...
On Jan 8, 1:45 pm, "Bob Phillips" wrote:
Works fine for me.

I presume you have set a reference, and this is all in a standard code
module?

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my
addy)

"signon77" wrote in message

...



Hello all,


In one function I am doing the following:


Dim dictMenuOptions As Dictionary
Set dictMenuOptions = New Dictionary
dictMenuOptions.Add "EDIT", "BtnEdit_Click"
dictMenuOptions.Add "COPY", "BtnCopy_Click"
dictMenuOptions.Add "DELETE", "BtnDelete_Click"
dictMenuOptions.Add "PKG EDIT",
"BtnPackageEditor_Click"
dictMenuOptions.Add "OFFICIAL",
"BtnOfficial_Click"


Call RightClick_BlotterMenu(dictMenuOptions)


The first line of "RightClick_BlotterMenu" is defined as :


Sub RightClick_BlotterMenu(MenuOptionsDictionary As
Dictionary)


Does anyone know why I am getting a "ByRef argument type mismatch" ?-
Hide quoted text -


- Show quoted text -



Hi Bob

When you say "set a reference" what does that mean?

Rob




signon77

ByRef argument type mismatch when passing dictionary object
 
On 8 Jan, 14:07, "Bob Phillips" wrote:
In the VBIDE, ToolsReferences, and scroll down to Microsoft Scripting
Runtime, and check that box.

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"signon77" wrote in message

...
On Jan 8, 1:45 pm, "Bob Phillips" wrote:





Works fine for me.


I presume you have set a reference, and this is all in a standard code
module?


--
---
HTH


Bob


(there's no email, no snail mail, but somewhere should be gmail in my
addy)


"signon77" wrote in message


...


Hello all,


In one function I am doing the following:


Dim dictMenuOptions As Dictionary
Set dictMenuOptions = New Dictionary
dictMenuOptions.Add "EDIT", "BtnEdit_Click"
dictMenuOptions.Add "COPY", "BtnCopy_Click"
dictMenuOptions.Add "DELETE", "BtnDelete_Click"
dictMenuOptions.Add "PKG EDIT",
"BtnPackageEditor_Click"
dictMenuOptions.Add "OFFICIAL",
"BtnOfficial_Click"


Call RightClick_BlotterMenu(dictMenuOptions)


The first line of "RightClick_BlotterMenu" is defined as :


Sub RightClick_BlotterMenu(MenuOptionsDictionary As
Dictionary)


Does anyone know why I am getting a "ByRef argument type mismatch" ?-
Hide quoted text -


- Show quoted text -


Hi Bob

When *you say "set a reference" what does that mean?

Rob- Hide quoted text -

- Show quoted text -


Hi Bob,

Microsoft Scripting Runtime was already referred to by the
application.

On the face of it this code should work. I've even rebooted my machine
but still have precisely the same error.

Strangely it even occurs when I change the object from a dictionary
object to a collection.

Rob

signon77

ByRef argument type mismatch when passing dictionary object
 
On 8 Jan, 14:07, "Bob Phillips" wrote:
In the VBIDE, ToolsReferences, and scroll down to Microsoft Scripting
Runtime, and check that box.

--
---
HTH

Bob

(there's no email, no snail mail, but somewhere should be gmail in my addy)

"signon77" wrote in message

...
On Jan 8, 1:45 pm, "Bob Phillips" wrote:





Works fine for me.


I presume you have set a reference, and this is all in a standard code
module?


--
---
HTH


Bob


(there's no email, no snail mail, but somewhere should be gmail in my
addy)


"signon77" wrote in message


...


Hello all,


In one function I am doing the following:


Dim dictMenuOptions As Dictionary
Set dictMenuOptions = New Dictionary
dictMenuOptions.Add "EDIT", "BtnEdit_Click"
dictMenuOptions.Add "COPY", "BtnCopy_Click"
dictMenuOptions.Add "DELETE", "BtnDelete_Click"
dictMenuOptions.Add "PKG EDIT",
"BtnPackageEditor_Click"
dictMenuOptions.Add "OFFICIAL",
"BtnOfficial_Click"


Call RightClick_BlotterMenu(dictMenuOptions)


The first line of "RightClick_BlotterMenu" is defined as :


Sub RightClick_BlotterMenu(MenuOptionsDictionary As
Dictionary)


Does anyone know why I am getting a "ByRef argument type mismatch" ?-
Hide quoted text -


- Show quoted text -


Hi Bob

When *you say "set a reference" what does that mean?

Rob- Hide quoted text -

- Show quoted text -


Hi Bob,

I've found the source of the issue. I was looking in the wrong area
entirely.

Thanks for your help.

Rob

Alan Beban[_2_]

ByRef argument type mismatch when passing dictionary object
 
signon77 wrote:

I've found the source of the issue. I was looking in the wrong area
entirely.

Thanks for your help.

Rob


Care to enlighten the rest of us as to the source of the issue?

Thanks,
Alan Beban


All times are GMT +1. The time now is 06:52 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com