|
OK sorry
I' am talking, about the property Form1.visible=False in VB6
For example
Starting a aplication with a system tray icon without showing the form at start in VB.NET .
|
|
|
|
|
WHich is it? VB6 or VB.NET? Are you trying to make a tray icon application?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hello
Write the function in Module Main dont call form Call all function in module if your application doesn't containe getting input from user
Ishak
|
|
|
|
|
I don't know if you ever got an answer you can use or if you finally figured out what to do, but if you want a form to start out invisible you set the Opacity = 0. If you want to see it again, set Opacity=100,
I have an app that I start with an "invisible form" (Opacity=0) and then I have it start another program which is visible. It works fine and has lasted a long time.
|
|
|
|
|
well i am a student and new in vb.net. my requirement is such that,i have generated a datatable dynamically because my need is such that the number of columns in my table keep on variating depending on the user input...
actully i have several components per course and the no. of components keep changing and hence the number of marks given to students for the same components.
i am able to make the datatable on the fly in accordance to the user input but now i want to generate a crystal report... so that i can print it.
any help in this would be useful to me
thanks
puneet
|
|
|
|
|
Help with what? You haven't asked a question specific enough to answer in a forum.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi,
I am trying to run a job that creates a new Thread but I don't know how to pass a value to this thread. I would like to pass a parameter to the TestThread(byval MyVal) Sub but if I try to add MyVal to "Thread(AddressOf testThread(myVal))" I get "AddressOf operand must be the name of a method..."
Here is what I have so far.....
Private Sub Button2_Click(...)
For i As Integer = 0 To 100
pvFile = "D:\Test\" & "test_" & i & ".txt"
Dim t As Thread = New Thread(AddressOf testThread(myVal))
t.Start()
Next
End Sub
Private Sub TestThread(ByVal MyVal as String)
Dim fi As FileInfo = New FileInfo(MyVal)
fi.Create().Close()
End Sub
Any help would be appreciated
thanks,
|
|
|
|
|
It is not possible to pass values to threads.
You can do this:
Private MyVal as String
Private Sub Button2_Click(...)
For i As Integer = 0 To 100
pvFile = "D:\Test\" & "test_" & i & ".txt"
'You pass the value MyVal to a private field
MyVal="what ever"
Dim t As Thread = New Thread(AddressOf testThread)
t.Start()
Next
End Sub
Private Sub TestThread()
Dim fi As FileInfo = New FileInfo(MyVal)
fi.Create().Close()
End Sub
This is the easiest way
|
|
|
|
|
Thanks for responding.
Is there a way to make the "MyVal" private to each thread. I ran it and mutiple threads picked up the same filename which in turned caused an error because threy were trying to access the same file.
Thanks,
|
|
|
|
|
You'll have to encapsulate the threaded code in its own class.
Something like this (untested code):
Imports System
Imports System.Threading
Public Class ThreadWork
Public MaxLoop As Integer
Public Shared Sub DoWork()
Dim i As Integer
For i = 0 To MaxLoop
Console.WriteLine("Working thread...")
Thread.Sleep(100)
Next i
End Sub 'DoWork
End Class 'ThreadWork
Class ThreadTest
Public Shared Sub Main()
Dim i As Integer
For i = 10 To 20
Dim myThreadDelegate As New ThreadStart(AddressOf ThreadWork.DoWork)
Dim myThread As New Thread(myThreadDelegate)
myThread.MaxLoop = i
myThread.Start()
Next i
End Sub 'Main
End Class 'ThreadTest
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Thanks for the sample. I tried it, though, and found that some of the threads were still, in my scenario, trying to access the same file. It works if I set a high enought sleep value.
I opted to pass the filenames at the thread name insteads. This way I do not need a sleep value and no thread would have the same name.
Private Sub btnCreateFile_Click(...)
For i as integer = 1 to 100
TheThread("D:\Test\File_" & i ".txt")
Next
End Sub
Public Shared Function TheThread(ByVal FileName As String)
Dim ThreadCaller As New Thread(New ThreadStart(AddressOf ProcessThread))
ThreadCaller.Name = FileName
ThreadCaller.Start()
End Sub
Private Shared Sub ProcessThread()
File.Create(Thread.CurrentThread.Name).close
End Sub
Do you see any issues with doing it this way? So far it's been working for me.
Thanks,
|
|
|
|
|
Thread names can only be 31 characters long. I hope your design takes this into account...
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Do you know of another property of a thread I could set to accomplish the same task without the 31 character limitation?
|
|
|
|
|
I already showed you how to do it.
Using Thread properties to pass parameters is very poor practice.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Is there any one how can give me an idea how to convert a string containing "ToDay()" to the expresion ToDay(). For example:
Dim str as string = "ToDay()"
dim newstr as string = ???str??? 'newstr=9/2/2005
Thanks
|
|
|
|
|
Maybe if you can give a brief explanation of what you are trying to accomplish with this, an answer may be found.
Your example just creates two strings but there's no explanation of what they are for.
|
|
|
|
|
Dear numbrel,
Thank you for your reply. Here is a more detail explanation. The first string contain an expresion, for examble TODAY() or NOW() etc. I am looking a way to use the contents of this string as a vb.net command and give the result to the second string.
I hope this is more clear to you.
Regards zaxos
|
|
|
|
|
zaxos,
It's still not total clear. Maybe if we start at the end.
You want a string containing the result from a function called using the first string.
You can't hard code the function call because....?? Maybe you want to use different functions and you want to use a variable for the function name (the first string is a variable?)
|
|
|
|
|
Yes I want a string containing the result from a function called using the first string. More precicely I dont want the contents of the string
"TODAY()" but the result of the function TODAY().
Regards zaxos
|
|
|
|
|
I still don't understand why you want to use the first string.
Why can't you use:
sResult = Today(), where Today() returns a string and sResult is the variable to hold the second string?
Why do you need to use the first string?
|
|
|
|
|
thank for replying again to my message.
i can't use today() as you suggest because i don't know it.i have for example a textbox in which the user can type anything he wants.So i can't do what you are saying i need to keep in a variable the thing that the user typed and then evaluate that string.i have dim str as string = textbox.text
and i want to use that variable str in order to evaluate that string.
in foxpro i could use what is called macro substitution.so in foxpro i would do something like that dim str1 as string = &str.
i want to do exactly what the debugger does in vb.net when you drop the variable in the watch window it show you the value of the variable.
thanks
|
|
|
|
|
i need to keep in a variable the thing that the user typed and then evaluate that string.i have dim str as string = textbox.text
and i want to use that variable str in order to evaluate that string.
My understanding is that you want to use the input from the user to call a function which would return a string.
If that is correct, my suggestion is to use Select Case.
dim str as string = textbox.text<br />
dim str2 as string<br />
<br />
Select Case str<br />
Case "function1"<br />
str2 = function1()<br />
Case "function2"<br />
str2 = function2()<br />
Case "function3"<br />
str2 = function3()<br />
.<br />
.<br />
.<br />
End Select
Am I close to understanding what you want?
|
|
|
|
|
yes this is what i want to do.
i thought that must be a way not to use something like select case since we don't know the input of the user.i suppose that there is no way in vb.net to do something like the one i described you that we can do in foxpro.
|
|
|
|
|
SQL does this, and I believe VBScript can do it, too. Hopefully, VB.NET doesn't, but it would not surprise me. Is there a command like EXEC, or EXECUTE, perhaps ?
Why would you want to do such a thing ? Basically, you want to take a string, and pass it to the compiler. VB.NET should be able to do this, seeing as .NET compiles on the fly anyhow.
Christian
I have several lifelong friends that are New Yorkers but I have always gravitated toward the weirdo's. - Richard Stringer
|
|
|
|
|
Thanks for replying to my question.
Can you give me more information about the thing you suggested passing a string to the compiler vb.net in order to evaluate it.Any example or suggestion would be great.
Thanks in advance
|
|
|
|