|
Whoops! Hey, someone reads my reply's!! They really, really do!
|
|
|
|
|
Hello sir
sorry for late
but sir i dont know how to correct this error, again i dont want to save image in file it's just for display so i dont select image then it's works fine but if i select image then it's a problem so sir can you please tell me more how to solve this problem as you said look in to using Image.FromStream
so i am confuse
waiting for your kind rep.
wish you very happy new year
thanks
|
|
|
|
|
Let me repeat myself. When you try to write over a file that's already open, you'll get this error. When you use Image.FromFile to load an image, Image will lock that file open for the lifetime of the Image object. Use Image.FromStream to get the data from the file and the file won't be locked.
|
|
|
|
|
hello sir
thanks for your kind rep.
you mean do i need to do some thing like this
picStudent.Image = Image.FromStream(dlgOpen.FileName)
to open the image or some thing else
like i said before i am not saveing image in file it's just for display image in picture box that's what my assignment says, what i need to save only customer's details only,if i save only details then it's works fine,
but sir still i am confuse
waiting for your kind rep.
thanks
|
|
|
|
|
Have you ever used the FileStream class to open files??
|
|
|
|
|
hello sir
as i said i am new in vb.net and i am learning so i dont know much about this, and as you said try to use Image.FileStream and when i open file from file dialog box it looks files which is all ready open so i am confuse there that which file is open, like in this project when i click btnProfile it's create file to store and with out image it's works fine, but if i load image from dlgOpen then it's problem, but dlgOpen is different and write file from StreamWriter is different that's what i understand but i am not sure that i am right or wrong so please sir can you tell me some thing more about this, and i am sure that you have found that problem but i am not getting there that's the only problem
waiting for your kind rep.
have a nice day
thanks
|
|
|
|
|
bapu2889 wrote: and when i open file from file dialog box it looks files which is all ready open
What?? This doesn't make any sense. I think you have a mistaken idea about how the OpenFile dialog works. All it does is return a string representing the path to a file. It doesn't acutally open the file, unless you speicifically tell it to AFTER the dialog returns to your code.
All you do to open a file using FileStream is:
Dim fs As New FileStream(filePath)
Dim pic As Bitmap = Image.FromStream(fs)
fs.Close()
fs.Dispose()
Image file is locked when you set the PictureBox Image property to a file[^]
|
|
|
|
|
hello sir
first of all thanks for quick rep.
now i will try to fix this problem
thanks again
have a nice day
wish you very happy new year
|
|
|
|
|
Sorry, dumb question here.
If I make a method in a class it is not a shared method and needs to be instantiated.
If I make a method in a form it becomes a shared method and does not need to be instantiated.
I want to call these methods from various places in my code, perhaps even from different threads at the same time.
It's easier to call a shared method because there's no need to instantiate it. But does doing so create the possibility of more than one thread calling the method at the same time thus creating problems?
In short, should I instantiate all of my method calls, even to the shared methods in a form?
Thanks, and Happy Holidays all!
|
|
|
|
|
You can put the word "shared" in your routine definitions to make them shared.
Public Class Example<br />
Public Shared Sub See()<br />
'this is a shared routine<br />
End Sub<br />
End Class
Use:
Example.See << no instantiance...
'Never argue with an idiot; they'll drag you down to their level and beat you with experience.' ~ anonymous
|
|
|
|
|
Right, but not my question.
Question: Is it safe to call a shared method from multiple threads? I'm concerned that the shared method might be called by more than one thread at the same time.
|
|
|
|
|
cstrader232 wrote: Question: Is it safe to call a shared method from multiple threads? I'm concerned that the shared method might be called by more than one thread at the same time.
In general, yes. But it depends on what the shared method code is doing.
|
|
|
|
|
yes that is a concern but like dave said it depends on what it's doing. you can use synclock to make sure one thread executes a chuck of code at at time...
'Never argue with an idiot; they'll drag you down to their level and beat you with experience.' ~ anonymous
|
|
|
|
|
cstrader232 wrote: If I make a method in a form it becomes a shared method and does not need to be instantiated.
False. The method becomes Shared only if you specify it in the method definition.
|
|
|
|
|
Wait! What am I missing -- it looks to me like methods in forms by default ARE shared:
Dim A below creates an error:
Error 93 Reference to a non-shared member requires an object reference.
Dim B below does not
Class Worker
Sub Work()
Dim A = TestClass.test
Dim B = TestClass2.test
End Sub
End Class
Public Class TestClass
Function test()
Return 99
End Function
End Class
Public Class TestClass2
Inherits System.Windows.Forms.Form
Function test()
Return 99
End Function
End Class
|
|
|
|
|
why do you say that? if you got an error when trying to access a function that's not shared. you get an error? why do you feel they are defaulted?
'Never argue with an idiot; they'll drag you down to their level and beat you with experience.' ~ anonymous
|
|
|
|
|
Well what I noticed was that if the class inherits from system.windows.forms.form then my test function in my code didn't need to be instantiated. However, if the class does not inherit from system.windows.forms.form then the test class did need to be instantiated.
|
|
|
|
|
cstrader232 wrote: then my test function in my code didn't need to be instantiated.
Yes, it does. A Form is just another class. There's nothing special about it that automatically makes its methods Shared.
The error you got has nothing to do with the class you made that inherited from Form. The code you wrote never made it to the line that uses the TestClass2.Test method. It bmbed out on the line before it.
|
|
|
|
|
OK, maybe I'm being dense but there IS something different between the two classes below. What happens if you paste this code into a new program? Don't you get an error on line 4 that prevents compilation whereas line 5 works fine?
1 Class Worker
2
3 Sub Work()
4 Dim A = TestClass.test
5 Dim B = TestClass2.test
End Sub
End Class
Public Class TestClass
Function test()
Return 99
End Function
End Class
Public Class TestClass2
Inherits System.Windows.Forms.Form
Function test()
Return 99
End Function
End Class
|
|
|
|
|
That depends on the rest of the project. What's the startup object? Is it the TextClass2 form? How does the Worker class get instantiated?? There's too much stuff missing to tell you what's going on.
|
|
|
|
|
OK, let's make it simpler:
Form1 class does not require instantiation
T class does!
_____
Public Class Form1
Function test()
Return 99
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Console.WriteLine(test) 'THIS LINE WRITES 99 (NO INSTANTIATION?)
Console.WriteLine(T.test) 'THIS LINE WON'T RUN (NEEDS INSTANTATION!)
''Can do it this way though if we want (WITH INSTANTATION)
Dim t1 As New T
Console.WriteLine(t1.test)
End Sub
End Class
Public Class T
Function test()
Return 99
End Function
End Class
|
|
|
|
|
When you show the Form1 and run the code in Button1_Click, it is already instantiated. Check under Main.
|
|
|
|
|
cstrader232 wrote: Public Class Form1
Function test()
Return 99
End Function
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Console.WriteLine(test) 'THIS LINE WRITES 99 (NO INSTANTIATION?)
Calling instance members of a class from inside the same class uses the current instance of the class, in this case, Form1. The current instance is refered to as Me . This line actually looks like this:
Console.WriteLine(Me.test)
In C#, it would look like this:
Console.WriteLine(this.test);
The next line needs to create an instance of the T class because the Console line is executing as part of a different class.
|
|
|
|
|
hi
i am looking for a example to use documentdownload2 event but i dint get a single sample code to use it.please could any one help me in using internetexplorerclass and its events like documentdownload2 navigate2......
with regards
Balagurunathan.B
|
|
|
|
|
DocumentDownload2 isn't even documented so I wouldn't worry about using it.
Which version of VB are you using?? VB6, VB.NET 2002, 2003, 2005, or 2008??
|
|
|
|