Solved

Calling a Sub or a Function with their names on a string.

Posted on 2000-03-06
7
155 Views
Last Modified: 2010-05-02
How can I call a Sub or a Function, witch name is on a string ?

In C I could use a pointer to a function. How can I do this in VB ?

Thank you.
0
Comment
Question by:mbarreto022800
7 Comments
 
LVL 3

Expert Comment

by:groone
Comment Utility
can you elaborate a bit what you are wanting to do?
0
 
LVL 14

Expert Comment

by:mcrider
Comment Utility
Well in VB5, you need to do a Case statement... for example:


Select Case GotoVariable
   Case "Function1": Function1
   Case "Function2": Function2
   Case "Function3": Function3
End Select



Cheers!®©
0
 
LVL 32

Accepted Solution

by:
Erick37 earned 45 total points
Comment Utility
"HOWTO: Use the CallByName Function to Run a Procedure"

http://support.microsoft.com/support/kb/articles/Q186/1/43.ASP
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 7

Expert Comment

by:Vbmaster
Comment Utility
The CallByName function is a VB6-only function, but there is a way to implement this in VB5 too, let me know and I can put up the solution on my webpage or something.
0
 
LVL 14

Expert Comment

by:wsh2
Comment Utility
Wait... VbMaster.. you have a Webpage?.. As I am a fan.. Wow, would I ever like to check that place out!!! Anyhow.. on to the question.. <smile>.

Yes.. VB6 has a Callbyname option.. but please be advised that in using it, you can pay a very high price in performance.. as there is considerable processing overhead in late binding a procedure. Once and done, type Calls are certainly ok, but a Callbyname employed in a tight loop.. only makes me shudder with long awaited <yawn> anticipation.

In lieu of what Vbmaster may have in mind.. the best and safest bet is still brute force and ignorance.. and SELECT CASE your logical troubles away.. as mcrider has so cogently proposed.. <smile>.
0
 

Author Comment

by:mbarreto022800
Comment Utility
Well, I've already thought on using a "SELECT CASE" but... let me elaborate a bit what I'm wanting to do, like groone asked. I'm writting an software application that will need to write on other applications databases at some point. I was thinking on making a table on my database, describing the applications I'll need to connect. On that table, I thought in creating a field with the name of the function or sub that would write on the tables of that application (since I don't know at start, the configuration of those tables). Then, every time I would need to connect with a new application I would only need to configure the aplication on that table and make a new module with the function or sub, without worrying about all the places on the code where i have those "SELECT CASE"s.
0
 

Author Comment

by:mbarreto022800
Comment Utility
The CallByName Function worked just fine, thank you Erick37 .

Ps. I only work with VB6, Vbmaster, thank you anyway.
0

Featured Post

IT, Stop Being Called Into Every Meeting

Highfive is so simple that setting up every meeting room takes just minutes and every employee will be able to start or join a call from any room with ease. Never be called into a meeting just to get it started again. This is how video conferencing should work!

Join & Write a Comment

Suggested Solutions

Introduction In a recent article (http://www.experts-exchange.com/A_7811-A-Better-Concatenate-Function.html) for the Excel community, I showed an improved version of the Excel Concatenate() function.  While writing that article I realized that no o…
Article by: Martin
Here are a few simple, working, games that you can use as-is or as the basis for your own games. Tic-Tac-Toe This is one of the simplest of all games.   The game allows for a choice of who goes first and keeps track of the number of wins for…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…
This lesson covers basic error handling code in Microsoft Excel using VBA. This is the first lesson in a 3-part series that uses code to loop through an Excel spreadsheet in VBA and then fix errors, taking advantage of error handling code. This l…

771 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

17 Experts available now in Live!

Get 1:1 Help Now