I can't figure out how to make it so that when a variable reaches a certain value, an event is triggered. For example if I wanted a user's level to change to 2 when he gets 1000 exp.
Dim level as integer
Dim exp as integer
*****What do I put here?*****(when exp reaches 1000)
level = 2
The code below works for the class that I hard coded "XCCustomers" in my RetrieveIDandName method where I use CType. However, I would like to be able to pass in various classes and property names to get the integer and string LIST returned. For example, in my code below, I would like to also pass in "XCEmployees" to my RetrieveIDandName method. I feel so close... I was hoping someone knew how to use CType where I can pass in the class name as a string variable.
Note, all the other examples I have seen and tried fail because we are using Option Strict On which disallows late binding. That is why I need to use CType.I also studied the "Activator.CreateInstance" code examples to try to get the class reference instance by string name but I was unable to get CType to work with that.When I use obj.GetType.Name or obj.GetType.FullName in place of the "XCCustomers" in CType(obj, XCCustomers)(i)I get the error "Type 'obj.GetType.Name' is not defined" or "Type 'obj.GetType.FullName' is not defined"
I'm moving from VB6 to VB.net and there are a few things confusing. In vb.net, your program just automatically has a form, now the form in in a class and so it may or may not be there. In vb6, the main subroutine controls program flow and I don't see that in vb.net. However, my biggest problem is that I have a com dll that has a connect class with events. I need to be able to access these variable outside of that class. I don't understand how to do that. I can't seem to declare public withevents outside of the class and in the namespace so it can be shared with other code. Its say "not valid" in Namespace.
So what is the best way to do that. Do I create a set/get property for the class that holds this value? And, if I do that, is the connect class automatically instantiated as a part of the COM dll? Right now I don't instantiate the connect class, I assume the application does. But I'm not sure exactly how the property of the class would be set...perhaps I would need to call the property set from the on-connection method. Anybody know what the answer to these two questions are and this 3rd one? How can I have a variable that has "events" have scope across the entire project?
I have a form in VB.NET that is used as a dialog in a mainform. Its instances are always locally defined, there's no field for it. When the user clicks the OK button in the dialog, it will fire an event with exactly one argument, an instance of one of my classes. Since it is always a local variable, how can I add an event handler for that event?
Code for the event, a field in MyDialog: public Event ObjectCreated(ByRef newMyObject as MyObject) Code for the main form to call dialog : (never mind the syntax) Dim dialog As New MyDialog() dialog.ShowDialog(Me) AddHandler ObjectCreated, (what do I put here?) //Or how do I add a handler?
I haven't quote grasped this whole "class" concept yet, but I'm working on it. When following the instructions below, the "test" portion of this code: "test.variable". It has an underlined error that says that "test" is not declared. If I remove the "test" word then the ".variable" shows not declared. I'm using Visual Studios 8 if that makes any difference. I have a pre-existing variable in a project that I would like to monitor for changes.
Re: Detect variable change. Make your variable a class with an event. Make your class: VB.NET Syntax (Toggle Plain Text) Public Class myVar Private mValue As Integer Public Event VariableChanged(ByVal mvalue As Integer) [Code] .....
I'm trying to create a simple media player that will scan a directory for certain filetypes, add them to a playlist then play a random playlist entry - changing every x seconds.I figured this would be simple in VB and, to an extent it was. I have the code running that chooses the directory and plays the random file.I just need to now make this repeat every 30 seconds or so.I have all the coded attached under the sub for the 'open' function of the player so it's quite flat. I think I need to use a timer here, to trigger the routine to pick and play the media every 30 seconds?In doing this I think I need to break the variables out of the function I currently have as they need to be shared between the timer loop function and the central 'creating file list' function.
I'm having trouble - I'm no coder (as you'll tell!) and although getting this far was easy I'm now (I think) bumping into threading / variable scope issues which are a bit of a brick wall.I've tried making the variables public / global by declaring in the class rather than the sub but I get errors at runtime. Presumably because of how I'm creating the windows media objects? [code]
How can I make an event that is raised when a variable or property is changed (or can I just put the code I would put in an event in the Set section of a property?
I have a variable declared in the 'Form1' class and I want to change it in a sub in different class to a different value, and then use it agin in the 'Form1' class. However, I don't seem to be able to change the value in a different class. Is there any way I can rectify this?
How could I create declaration(event) to a variable control in VB .net ? [code]please i need to know how to insert this (declaration) newweb_ DocumentCompleted it's similar to WebBrowser_DocumentCompleted but it's a variable
I have a variable whose scope needs to be global, because it needs to be called in a function as well as in a button press. So I declared the variable in a Module so it would be global.The problem is that the value of this variable needs to be equal to the value of the text property of a textbox in the form.You enter a string into the textbox, in this case I entered "Hello". Then you click the button and it displays what you wrote.You click OK in that message box and change the value in the textbox. In this case I changed it to "Goodbye". Then I hit the button again, but the variable did not change values and the messagebox displays "Hello" again.
[code]....
Here is the entire source code:
Module Module1 Public strDataValue = frmTest.txtDataValue.Text End Module
[code]....
Note: This is just a demonstration of a problem I'm having in a much larger program so the variable does have to be global.
Say I have a variable. Say I want to know when does the function change.'On vs2008 I think on the watch I can edit watch and put something about it. What can I do about it now? There is no such option in the context menu if I click on a watch variable
Im making a site in Visual Studio using vb and I have a variable in page_load but need its value in the event handler of a button for passing on session.
I'm wondering whether it is possible to declare a global variable in a click event. I need to declare an array of a specific size. The specific size is generated using a series of IF statements. I only need to know how to declare it.
On one side, in Vb.Net when you add an event handler to an object the created method is named: <NameOfTheObject>_<NameOfTheMethod>.As I like to have consistent syntax I always follow this rule when creating event handlers by hand.On the other side when I create private variables I prefix them with m_ as this is a common thing used by the community, in C# people use to put _ at the beginning of a variable but this is no CLS compliant.
i change the value of the variable in the Backgroundworker but the if i use the varible valur outside of the thred the varible value doesn't change still previous.
I'm trying to make an application to do mathematical equations, but I also want to implement error checking. So that if someone doesn't put anything in one of the fields the output textbox will say "Error".
But the problem is that I already declared the variables I used as a numeric value, in my case decimal.
So, when I make an if statement that says if inputbox1="" then outputbox1="Error" it doesn't work.
I think that in order to get this to work I would have to have it setup so that the variable that is exported to the text property of outputbox1 could switch between being declared as a decimal or string value based on what the user put into the textboxes. But I'm not sure how to go about this. Declaring the variables inside the if/elseif statements won't work because the variables need to be declared before they are calculated within my if/elseif statements.
I'm multiplying X*Y*Z in a loop of 200 interations Y is declared as a constant. A timer can cause the loop to pause for 10 seconds.
During this 10 sexond pause I would like to change the value of Y. It needs to be changed only for this run, not a permanent change which can be done in the declaration.