Passing Subs And Functions With Varying Signatures Into A Class
Dec 28, 2011
I have a number of unrelated subs and functions that do various things on my server (e.g. Lighting control, data caching, server maintenance, etc). They are all in various classes which I have coalesced into a single solution.My goal is to create a single, simple interface which each of these disparate classes can be integrated and called from a command line interface. Instead of hard-coding a longish case statement which parses arguments and passes them to the various subs, I wanted to make a generic class which can be instantiated with a minimum of information and put into a data structure. Ideally, adding a new function would involve:
1.) Providing the function pointer (Delegate). The delegates will have various signatures. This is the crux of the question.
2.) Providing ancillary info such as the command-line callable name, number of arguments, argument types, etc.
I have a 100% working class called "node" which is basically a hierarchical tree of node instances. I can use this to simply organize function calls in related branches. All is working quite well.NodeFunctionDelegate(ByVal args As String) As String.The node takes the arguments passed to it by the command line and sends it as the "args" string as comma-separated. The delegate function then needs to know how to split up these comma-separated values, type them, tryparse them and etc. It then must return some string.It works, but it involves writing a middle-man function stub which can receive the argument string from the node class, do the parsing and type checking, and then call the destination function.My goal is to eliminate this trivial middle-man function. The problem is, I can't figure out how to create a variable-signature delegate for the node class.
View 9 Replies
ADVERTISEMENT
Oct 4, 2008
This is very basic about the layout of classes, subs etc. 1. Should all my subs & functions always be inside a class? I haven't used classes too much before, mostly just a bunch of subs in a form file. Now I downloaded a sample program which I want to develop. This has all the code of the form inside "Public Class Form1": [Code] The code is an example of use of the ZedGraph library. It produce a simple window with one graph/chart. Now I want to develop this code with several tabs, a dusin different charts, file I/O and so on. I'm ok with most of the specific coding, but my question is on the general coding;
2. Should I continue my subs&functions inside this form? inside this class? inside a new class? Earlier when I've NOT been using class, I can make global variables by placing the "Dim" outside the subs. This does not seem to work within a class. 3. Should I avoid global variables all together, or how is this done without always passing arguments?
Also I will make more forms, for program options etc. 4. Should these forms be coded as classes? or just subs&functions in a form? Obviously I'm not well trained on the proper use of classes and have trouble to find this easily explained.
View 2 Replies
Feb 3, 2011
Namespace MyClassLib
Public Class MainClass
Public Sub New()
[CODE]...
Is it possible to make it so that the user using the Class Library has to declare a new Instance of MainClass() before using Subs/Functions in Class2 or Class3?
View 2 Replies
Oct 26, 2009
When you refrence a Function like this one:[code]You may want to be able to get more out of that, like this.[code]So how would I be able to add subs or functions onto a sub or function like that?
View 4 Replies
Feb 21, 2010
I was reading the lesson on how to use functions and subs and I'm having a bit of a hard time understanding this part:
[Code]...
View 4 Replies
Jun 14, 2009
I don't mean to sound unintelligent, but is there a way to insert your functions and subs into visual basic and call them from and program made in visual basic? I don't want to have to put the code in over and over again.
View 8 Replies
May 21, 2009
I was wondering how to implement a vb script file with functions and subs that can be used in all code pages of a project. Similar to the old VB 6 bas files.
View 2 Replies
Apr 7, 2009
Option Explicit On
Option Strict On
Public Class frmMain
Private Sub btnSub_Click(ByVal sender As Object, _
ByVal e As EventArgs) Handles btnSub.Click
Call CalcSumSub(CLng(txtN.Text))
[Code] .....
I'm not receiving any errors or any thing I just need figuring out the logic in this program. The Program Needs to Accept Input in One text box and adds n numbers together and displays the sum using only subroutines and Functions.
Attached File(s)
Assignment5.txt (4.49K)
Number of downloads: 84
View 4 Replies
Jun 2, 2011
Earlier I was working on a project, and I added a StatusToolStrip and the the ToolStrip I added a label and a progress bar. The label will say the current sub or function that is in progress and the progress bar will show how far along it is through the sub or function. I have tried this myself but I cannot figure it out as I rarely use progress bars.
An example of a code that I would like the progress bar to show would be like this:
Private Sub StopServer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles StopServer.Click
'Checks to give server notice
If My.Settings.warningmessages = True Then
Dim cmd As String = My.Settings.warningmessagetext(2)
[Code] .....
So while the sub is running the label would say "Stopping Server" and the progress bar would show how far along the sub is.
View 4 Replies
Apr 15, 2010
I'm trying to create a .dll in VB Express with multiple functions and subs.
For the .dll program, I create a class module with:
Public Class Class1
Public Function ReturnOne(ByRef MyVar As Integer) As Integer
[Code]....
Upon execution, it tells me that it cannot find the entry point in the .dll.
View 4 Replies
Oct 21, 2011
At the head of a module, I wish to declare some global variables for use in various subs/functions.
What is the difference between.Dim x as string and Private x as string / Public x as string, and when would I use one over the other?
View 1 Replies
Mar 4, 2009
When I code in PHP I usually keep my functions in a separate file functions.php, I am going to write a small function in VB, is it ok to keep all my functions and subs in the 1 file linke in PHP? will they be available in all my form code?
View 3 Replies
Feb 1, 2011
I am porting an app from VB6 and I run into problems with references to functions and subs. Basically, let's say I have 2 classes added to the project, like this.
Public Class OOOOO
Public Shared Sub BBBBBBB(ByVal FileName As String)
...
Call CCCCCC()
Call DDDDDD()
etc.
...
End Sub
[Code] .....
I had to make the BBBB() shared to be able to call it from another function AAAAAA() from another class PPPPP. However, I get error on the references in the BBBBB(), that CCCC() and DDDD() have to be made also shared (so instead of 1 error I got number of errors).
When I tried to make them shared as well, I got tens and tens of errors due to other references of both variables and functions.
View 4 Replies
Dec 6, 2010
What I am trying to do is have a class where the functions of the same name are both instance functions and shared functions.
Public Shared Function Get...(byval xx as xx)
and
Public Function Get...
The Public Function uses a Property xx created in the constructor, whereas the Shared Function has the parameters (byval xx as xx).
View 1 Replies
Oct 30, 2011
How do I pass parameters of LINQ DataTables through Functions and Subs
View 1 Replies
Sep 2, 2009
I'm having an issue where I need to pass the value in a variable from one sub to anotherHere is the scenario. I have two forms; Main_Form and frmClient. I take a value from frmClient and pass it into a sub called Form_Activate located in Main_Form. I then need to take the value from Form_Activate and use it in a sub called when the user selects a menu item in the toolstrip.Starting point is frmClient and the code there is this:
Private Sub Button1_Click(ByVal sender as System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Client As Integer
[code].....
View 9 Replies
Oct 3, 2011
I have an application that queries DHCP and pulls scope/subnet information. There are roughly 8k scopes on our network to query so reporting this data takes a little bit of time. I currently have this running on it's own thread and reporting to a progress bar so the applications doesn't seem inactive.
The DHCP api functions can report a total, a max read and a resume argument. This means that I can, in theory start 4 threads and have each thread read through 2k subnets, so it will only take 1/4 of the time to read all this data. Would I need to create four separate background worker handlers, do_works, runworkcomplete, report progress etc.?
View 3 Replies
May 30, 2010
I'm almost sure that I've seen this somewhere, but I can't find it anymore. Or maybe I'm imagining it, which would'nt be strange either.
When creating a sub or function and adding parameters used when calling it.
-Is it possible to list the parameters that I can enter when using it somewhere in my code?
E.g.
Public Sub MessageMain(ByVal Message As String, ByVal MessageType As String (List of possible values for MessageType)) Same for example as when you have boolean values in a sub/function. As soon as you use that somewhere in your code intellisense will present you with True/False to select.
I'd like the same for parameters in subs or functions I create and calling them from somewhere in my code. Saves me the trouble of remembering which options are available for those parameters.
View 8 Replies
Apr 23, 2012
Public Shared _formRef As frmMain
Public Shared f As frmMain
Class Server[code].....
but once firing off the code i get the error you see in my image attached.
View 1 Replies
Jan 7, 2012
i have an sql database in my application and everything is working fine apart from one aspect.My random row picker code is located in one button on_click event. Is there a way of passing it over to other subs/on_click events?
[Code]...
View 1 Replies
Jul 19, 2009
i have have a few questions about the syntax of the lan.:
1) What is the 'Get' statement and when do you use it?
2) Whats the difference between public, private, protected etc... when declaring functions and subs.
3) When would you use the overrides property?
View 4 Replies
Mar 15, 2012
I wanted to get your feedback on a design/coding issue. I have a treeview which represents the device tree in device manager. I also have two listviews which display information about the currently selected device on the treeview. I'm only concerned with the first listview at this point. The information displayed in the listview varies depending on the selected device. I'm using the node index to track which device class and device is selected and I pass this into the device class Display method. I hate the idea of a big Select Case statement. Then there is also the dynamic nature of the device tree to consider.
View 2 Replies
May 25, 2010
I have an application that I am reworking. It has many reports and a pain to compile and roll out.I'd like to make a root user interface that "calls" the functions and subs remotely.I was concidering pulling them and making formless exe's of them, passing the needed criteria via command line. Yet still be able to update and control them.
View 4 Replies
Oct 24, 2009
Here is some example code of what I mean:
vb
Public Class Form1
Private Sub Button1_Click(ByVal sender as Object, e as systemEventArgs) Handles Button1.Click
[Code]....
View 5 Replies
Apr 10, 2011
I want to create constructor that can create container with these properties:
1. Only Diameter, in new sub define it round shape.
2. Diameter and Volume.
3. Length and Width (for rectangle shape)
All are double data type, but problem is 2 and 3 are conflict.How to let program know I want to create round shape container or rectangular shape container?
[Code]...
View 16 Replies
Apr 18, 2010
I'm trying to pass an array from a 2D Array to a function that takes a 1D array, but each time I do I get the error Number of indices is less than the number of dimensions of the indexed array.. I know using a structure would solve the problem, but unfortunately the assignment is to use a 2D Array instead of a structure. I've declared the 2D array as such:
Const MAX_ARR_SIZE = 63
Public HouseholdCollection(MAX_ARR_SIZE, 2) As UInteger
Const IDENTIFICATION_CODE = 0
Const MEMBER_COUNT = 1
View 3 Replies
Jun 8, 2012
I would like to have custom methods to pass data between function, or to keep it in memory throughout the program.
Example:
Private function info()
Addr1 = addr1.text
Addr2 = addr2.text
City = city.text
[code]....
Could I run this function towards the beginning of the program and use it throughout until the form is disposed? I can't seem to get the information to stick once I get out of the function, I will need to use the same information multiple times throughout the application so I figured if I could make a function to keep the info rather than declaring the 5 lines in every option but anytime I call the method, it fills it correctly then when I get back to the main function the info goes back to 'nothing'. is it possible to pass data around between functions like you could in Java?
View 5 Replies
Jul 6, 2009
I want to know if it's possible to retrieve the variables name from when it was passed into a certain function. For example, if I call parseId(myId) to a function with the signature parseId(id), i can obviously retrieve the value of 'id'. However, is there any way I can retrieve 'myId' as a string (without passing it as another value)? Specifically in vb.net, but I'm interested in how it would work in any given language.
View 3 Replies
Feb 11, 2010
topfunction(myarray, yourarray)
dim function topfunction(byval array1() as integer, byval array2() as integer)
dim function subfunction1(byval array1() as integer)
[code]....
View 2 Replies
Nov 27, 2009
I ran into an error when trying to do this:
Code: ChartBuffer = GetCurrentChart(ChartBuffer) The error says Conversion from type 'Integer()' to type 'Integer' is not valid.
Apparently I have some type casting issues, the problem is I'm not trying to cast any types at all. I'm trying to set one array chartbuffer equal to the array returned from GetCurrentChart.
[Code]...
In the constructor of this class I am trying to set the buffer equal to the loaded chart because if I try to write information to a buffer that isn't already initialized, and then save it, it will overwrite stuff that might already be saved in the file as 0's or something, and I don't want it to do that. To prevent this from happening I'm simply going to initialize the buffer in the constructor by setting it equal to the loaded chart. Finally after that is all done I can write new information to the buffer and save it to the file without writing a mostly empty buffer (full of zero's) to the chart that is saved with information in it already.
View 4 Replies