|
hi all i want to know that where to place the common variables and access them in all forms in vb.net.
i vb6 there was area known as the sub main. i had made an application as windows form application.
ddd
|
|
|
|
|
tasleem143 wrote: i want to know that where to place the common variables and access them in all forms in vb.net.
Create a module and delcare your viriable as GLOBAL.
|
|
|
|
|
There's no such thing as Global variables in the .NET Framework.
You can have Shared variables in classes though...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Common practice is to place these in a class as Shared variables. But, this goes against accepted OOP practices, so try to keep this to a minimum as you learn true Object Oriented Programming practices.
Public Class Globals
Public Shared GlobalVar As Integer
End Class
You can then access this "global" anywhere in your code, simply by using:
Globals.GlobalVar = 3
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
hi,
I developed project using WINSCOK CONTROL in VB.Now i'm in need to convert it into VB.NET. I'm trying to upgrade it but i cann't pls help how to upgrade it.
subhulakshmi
|
|
|
|
|
|
It is regarding passing of complex structure consisting of double,structure to an api in vb.net. I have tried marshalling the structure as ptr and sending it to api, but it doesn't works.
could u plz throw light on it.
---Pravin.
|
|
|
|
|
pravinkgarg,
Without seeing any of your real code,
I'd guess it needs to look something like this:
Imports System.Runtime.InteropServices
Public Class Form1
Inherits System.Windows.Forms.Form
"<Windows Form Designer generated code Removed>"
Public Declare Auto Function xyz Lib "lib1" (ByRef t1 As IntPtr) As Integer
Private Sub TestMe()
Dim retval As Integer
Dim ctest As New test
'Allocate a block of memory
Dim ctestSize As Int32 = Marshal.SizeOf(ctest)
Dim itest As IntPtr = Marshal.AllocHGlobal(ctestSize)
'Marshal data from a managed object, to an
'unmanaged block of memory
Marshal.StructureToPtr(ctest, itest, False)
'call xyz
retval = xyz(itest)
'Marshal data from a managed object, to an
'unmanaged block of memory
Marshal.StructureToPtr(ctest, itest, False)
'<<<< DO SOMTHING WITH ctest HERE >>>>>
'somthing = ctest.item1
'somthing = ctest.item2
'...ect..
'<<<< BEFORE YOU FREE MEMORY HERE >>>>>>
'Free the block of memory
Marshal.FreeHGlobal(itest)
End Sub
End Class
Public Class test
Public item1 As Integer
Public item2 As New struct2
<VBFixedArray(45)> _
Public item3() As Double
Public Sub New()
item3 = New Double(45) {}
End Sub
End Class
Public Class struct2
'
'<Public whatever is in struct2>
'
Public Sub New()
'<whatever = New of whatever Intializes struct2>
End Sub
End Class
Maybe that will help you out,
progload
|
|
|
|
|
hi every one,
i am using frames concept on my web page. on one of the
frame i am showing a gif image.i have to zoom the "particular" gif image
area where my mouse pointer is pointing.
thanx
your
peter
|
|
|
|
|
This is better asked in the ASP.NET or Web Development forums. What you what to do can't be done in ASP.NET code. ASP.NET is a server-side only technology that generates HTML for the client.
What you want would have to be done using client-size JavaScript.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I was trying to show the image in a picturebox in form 1, which when i click the image from a picturebox on the form2 then picturebox image in form 1 will be the same as selected in form2. Is there anything wrong with my code? i just cant show it.
'ps refer to the other form call PlayerSelect .
Dim ps As New PlayerSelect
ps.PictureBox1.Image = PictureBox1.Image
-- modified at 9:51 Saturday 18th February, 2006
|
|
|
|
|
pittybird wrote: Is there anything wrong with my code?
Dim ps As New PlayerSelect
ps.PictureBox1.Image = PictureBox1.Image
Yes, this is very wrong.
By doing "New PlayerSelect", you're creating a new form object, which is not the same form object as the one that is already being displayed.
Here's an easy solution (although I'd never do it this way).
You could pass a reference of form1 to form2. Form2 could then manipulate form1 directly. It would look something like this...
Dim myForm2 As New Form2<br />
myForm2.PlayerSelect = Me<br />
myForm2.ShowDialog()
I'll leave it to you to figure out the rest.
-- modified at 16:46 Saturday 18th February, 2006
|
|
|
|
|
error found ,it said form2 is not a member of playerselect.
actually the form2 i have change its name to playerselect.
i think the code u give me is the same as mine at the beginning
Dim myForm2 As New Form2 = Dim ps As New PlayerSelect
just the name different.about the
myForm2.PlayerSelect = Me
wat is it refer to? refer to the form1 become form2?
|
|
|
|
|
I only gave you a small bit of code to give you an idea on how to solve this. You have to do the rest. It's really simple. Just break it down into steps like this...
1) First, create a member variable in form2 that'll hold a reference to form1.
2) Next, you need to be able to pass a form reference to form2. To do that, you need to create a method or property in your form2 class that'll take that reference.
3) Next, when you create form2 from form1, you need to pass form1's reference via "Me" to form2. This will use the method or property that you created in step 2. Something like the code I gave you.
4) Next, you need to add a public method to form1 that'll allow form2 to change form1's PictureBox.
|
|
|
|
|
the concept u listed is wat i done, y i didnt use ME because the form cannot be convert to the system.drawing.image itself.
unless u know the command on convert it.
The coding i post early actually is from my previous project on the older version or VB. It's working but in VB.net it's not working anymore, i dunno is it they change any of the method or not on controling the image funciton.
-- modified at 10:15 Sunday 19th February, 2006
|
|
|
|
|
pittybird wrote: i didnt use ME because the form cannot be convert to the system.drawing.image itself.
Of course a Form reference can't be cast to a PictureBox.Image. They are two very different classes. You need to pass the PictureBox.Image reference in Form2 over to the PictureBox.Image property in Form1. That's what this whole exercise is really about.
Now there are multiple ways to pass this image reference over. Having Form2 reference and control Form1 is one way to do it and I was hoping this would be the easiest approach for you.
Dave's approach (see his post below) is an even better solution because a child form really shouldn't have any knowledge of its parent form. It just forces you to know more about events and setting up event handlers. Although I must say that it would be good for you to learn this.
Hell, an even better approach would be to fully implement the MVC pattern and introduce a Model which stores all player data and raises events anytime this data has changed to be caught by Form1, Form2, or any other form you might have in the future. But we would be getting into design patterns here and I don't think you're quite ready for that yet.
-- modified at 17:17 Sunday 19th February, 2006
|
|
|
|
|
actually i'm still new to vb.net,not really much understand wat u talking about... mostly theories... thanks anyway.
|
|
|
|
|
Forms in VB.NET are handled very differently than they were in VB6. The proper way to do this is Form2 should never know anything about, nor depend on the existance of, Form1.
Expose an event on Form2 that passes an Image back to any subscribers. When you click on the picturebox on Form2, Raise your event so Form1 will receive the Image and do whatever it needs to with the image, like pit in its own picturebox.
Form2:
Public Class Form2
Inherits System.Windows.Forms.Form
Public Event NewImage(ByVal i As Image)
Private Sub PictureBox1_Click(blah, blah) Handles PictureBox1.Click
RaiseEvent NewImage(PictureBox1.Image)
End Sub
End Class
Form1:
Public Class Form1
Inherits System.Windows.Form2.Form
Private Sub Button1_Click(blah, blah) Handles Button1.Click
Dim newForm2 As New Form2
AddHandler newForm2.NewImage, AddressOf form2newimagehandler
newForm2.Show()
End Sub
Public Sub form2newimagehandler(ByVal i As Image)
PictureBox1.Image = i
End Sub
End Class
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
-- modified at 13:15 Sunday 19th February, 2006
|
|
|
|
|
THANKS you so much!!!~ it works~
|
|
|
|
|
We are porting an application from vb to vb.net. We are accessing a dll which is working fine in vb, but in vb.net it's not.
We need to pass a reference parameter to the function being accessed in the dll. This parameter is of type structure.
Pls can anyone guide how to pass a reference parameter to a structure type.
---Pravin.
|
|
|
|
|
I don't think so. Structure type cann't pass by ref.
It pass by value.
http://www.startvbdotnet.com/oop/structure.aspx
!alien!
-- modified at 1:27 Saturday 18th February, 2006
see also
http://www.codeproject.com/dotnet/Structures_VBNet.asp
|
|
|
|
|
we can pass structure type byref. but i don't know exactly how?
|
|
|
|
|
Just a guess:
Sub ValMethod(ByVal struct as SomeStructure(
'Here it's passed by value
)
Sub RefMethod(ByRef struct as SomeStructure(
'Now you can modify the structure because it's passed by reference
)
HTH!
"..Commit yourself to quality from day one..it's better to do nothing at all than to do something badly.."
-- Mark McCormick || Fold With Us! || Pensieve || VG.Net ||
|
|
|
|
|
this doesnt work
is it possible to to make this work?
Dim oleCmd As New OleDbCommand("SELECT RecNum " & _
"FROM Serial_Table", oleCon)
With oleCmd
lRecNum = .ExecuteReader.Item("RecNum").ToString
End With
tnx in advance
|
|
|
|
|
"This doesn't work" isn't a good explanation of the problem. What's it doing/not doing?? What are you expecting the code to do?
Also, there not enough of the code to "get it to work" or diagnose the problem. What is lRecNum defined as? What are you trying to do with the data?
About the only thing we could do is rewrite it and guess what you're trying to get it to do.
Dim oleDbConn As New OleDbConnection(connectionString
Dim oleDbComm As New OleDbCommand("SELECT RecNum FROM Serial_Table", oleConn)
Dim oleDbReader As OleDbDataReader
oleDbReader = oleDbComm.ExecuteReader()
While oleDbReader.Read() = True
' What are you doing with this data??????
...something...oleDbReader.GetInt32(0)
End While
oleDbReader.Close()
oleDbConn.Close()
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
-- modified at 22:22 Friday 17th February, 2006
|
|
|
|