declaration help please

  • Thread starter Thread starter Gary Keramidas
  • Start date Start date
G

Gary Keramidas

a third party added some code to one of my apps and didn't dim anything. i'm
not sure how to dim these variables. can someone help?

a couple examples in the code:

DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="T09113")
DDEItem = "Xfer_Sched_New" 'Tag in CompactLogix

DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="T09113")
DDEItem = "Xfer_Schedule[" & Num_i & "],L1,C1" 'Schedule Tag in
CompactLogix
 
Gary,

I never used DDE, it's outdated.
DDEItem is obviously a string, and F1 used with DDEInitiate tells me:
"If successful it returns the number of the DDE channel".
So a Long would be fine.
If you can't figure out what type to use (remember: F1 is your friend),
you can always stay with Variants (as they did).

Helmut.
 
You can probably ask VB to tell you. Put this line after after the first
line...

MsgBox TypeName(DDEChannel)

and put this after the second line...

MsgBox TypeName(DDEItem)

and so on... VB should tell you what Data Type is stored in the Variants and
you can then Dim each of those variables accordingly.
 
ok, thanks.

--


Gary Keramidas
Excel 2003


Rick Rothstein said:
You can probably ask VB to tell you. Put this line after after the first
line...

MsgBox TypeName(DDEChannel)

and put this after the second line...

MsgBox TypeName(DDEItem)

and so on... VB should tell you what Data Type is stored in the Variants
and you can then Dim each of those variables accordingly.

--
Rick (MVP - Excel)



Gary Keramidas said:
a third party added some code to one of my apps and didn't dim anything.
i'm not sure how to dim these variables. can someone help?

a couple examples in the code:

DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="T09113")
DDEItem = "Xfer_Sched_New" 'Tag in CompactLogix

DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="T09113")
DDEItem = "Xfer_Schedule[" & Num_i & "],L1,C1" 'Schedule Tag in
CompactLogix
--


Gary Keramidas
Excel 2003
 
thanks for the info. it's outdated and so was a lot of their other code.
they were selecting everything in the code an i re-wrote a lot of it,
dimming the variables, too.

--


Gary Keramidas
Excel 2003


Helmut Meukel said:
Gary,

I never used DDE, it's outdated.
DDEItem is obviously a string, and F1 used with DDEInitiate tells me:
"If successful it returns the number of the DDE channel".
So a Long would be fine.
If you can't figure out what type to use (remember: F1 is your friend),
you can always stay with Variants (as they did).

Helmut.


Gary Keramidas said:
a third party added some code to one of my apps and didn't dim anything.
i'm not sure how to dim these variables. can someone help?

a couple examples in the code:

DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="T09113")
DDEItem = "Xfer_Sched_New" 'Tag in CompactLogix

DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="T09113")
DDEItem = "Xfer_Schedule[" & Num_i & "],L1,C1" 'Schedule Tag in
CompactLogix
--


Gary Keramidas
Excel 2003
 
I'd say Variant; slower but works for everything.


--
Ryan---
If this information was helpful, please indicate this by clicking ''Yes''.


Rick Rothstein said:
You can probably ask VB to tell you. Put this line after after the first
line...

MsgBox TypeName(DDEChannel)

and put this after the second line...

MsgBox TypeName(DDEItem)

and so on... VB should tell you what Data Type is stored in the Variants and
you can then Dim each of those variables accordingly.

--
Rick (MVP - Excel)



Gary Keramidas said:
a third party added some code to one of my apps and didn't dim anything.
i'm not sure how to dim these variables. can someone help?

a couple examples in the code:

DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="T09113")
DDEItem = "Xfer_Sched_New" 'Tag in CompactLogix

DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="T09113")
DDEItem = "Xfer_Schedule[" & Num_i & "],L1,C1" 'Schedule Tag in
CompactLogix
--


Gary Keramidas
Excel 2003
.
 
Personally, I dislike Variants... you end up trusting VB to handle all the
behind the scene conversions for you. Do you think that is necessarily a
good thing to do? Lets say we have these two variant assignments...

V1 = "123"
V2 = "456"

What do you think this line will display...

MsgBox V1 + V2

--
Rick (MVP - Excel)



ryguy7272 said:
I'd say Variant; slower but works for everything.


--
Ryan---
If this information was helpful, please indicate this by clicking ''Yes''.


Rick Rothstein said:
You can probably ask VB to tell you. Put this line after after the first
line...

MsgBox TypeName(DDEChannel)

and put this after the second line...

MsgBox TypeName(DDEItem)

and so on... VB should tell you what Data Type is stored in the Variants
and
you can then Dim each of those variables accordingly.

--
Rick (MVP - Excel)



Gary Keramidas said:
a third party added some code to one of my apps and didn't dim
anything.
i'm not sure how to dim these variables. can someone help?

a couple examples in the code:

DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="T09113")
DDEItem = "Xfer_Sched_New" 'Tag in CompactLogix

DDEChannel = Application.DDEInitiate(app:="RSLinx", topic:="T09113")
DDEItem = "Xfer_Schedule[" & Num_i & "],L1,C1" 'Schedule Tag in
CompactLogix
--


Gary Keramidas
Excel 2003
.
 
Back
Top