|
Shouldn't the function return Employee() ?
Try it.
|
|
|
|
|
I tried to return Employee(), But I still get error saying: Employee is a type cannot be used as an expression.
|
|
|
|
|
As David points out above, your function is defined to take an array of Strings and return a String. But inside it you are trying to manipulate an Employee structure. You also have an index which is never initialised so that will most likely crash your code. And even if it is initialised you are subtracting 1 from it which may also cause a crash.
|
|
|
|
|
Appreciate your suggestion. I am adding some new feature to the existing code, I have not typed full code in here and I don't want to change any existing code.
I just highlighted the concept(code) where I am going wrong. Is anything wrong in function declaration?
|
|
|
|
|
Member 13017730 wrote: s anything wrong in function declaration? Yes, everything, as I already told you.
|
|
|
|
|
Hello,
this might be a dummy question, but I couldn't find a good answer on the internet yet.
In my code I populate a CheckedListBox with the filenames of a particular filetype. If one of the entries gets checked ('ItemCheck' event of the CheckedListBox), I create an instance of a class that represents one of the relevant files.
If ctrl.GetItemCheckState(ctrl.SelectedIndex) = 0 Then
' create a new cfgFile class AND add it to the classes list
ff = New cfgFile(ctrl.SelectedItem)
lbl_FileMessage.Text &= ff.Message
Else
' How to dispose of the correct instance?
End if
How can I properly dispose of the correct classes' instance, once the item is unchecked again? I thought about looping through the instances and check for their 'filename' property... but there doesn't seem to be a collection of instances, which I can refer to in a loop.
Thank you for your advice,
Mick
|
|
|
|
|
Where are you holding the created instances and how are they referenced to a particular line in the list box?
|
|
|
|
|
Hi Michael,
I guess that's part of my question...
I tried to put every newly created class into a List(of class), where I could add/remove entries. But removing elements from the list (i.e. list.count resulted in -1) didn't dispose of their instances (static counter variable, decremented inside the 'dispose' method, stayed the same).
Thank you for guiding me further.
|
|
|
|
|
Would that be a probable solution?
Public Class cfgFiles
Inherits SortedList(Of String, cfgFile)
Private Shared files As New SortedList(Of String, cfgFile)
Public Overloads Shared Sub Add(ByVal fileName As String)
files.Add(fileName, New cfgFile(fileName))
End Sub
Public Overloads Shared Sub Remove(ByVal fileName As String)
Dim ff As cfgFile = files(fileName)
ff.Dispose()
files.Remove(fileName)
End Sub
Public Overloads Function GetEnumerator() As IEnumerator(Of cfgFile)
Return files.GetEnumerator
End Function
Public Property SelectedItem As cfgFile
Default Public Overloads Property Item(index As Integer)
Get
SelectedItem = files(index)
Return SelectedItem
End Get
Set(value) ' as cfgFile?
files(index) = value
End Set
End Property
End Class
|
|
|
|
|
Memory allocated in .NET using the new command can automatically claimed by the GC as soon as the object loses scope. I say can, because it won't do it immediatly. Disposing is only required if there are unmanaged resources owned by the object.
Which means you can safely remove the "ff.Dispose()" statement.
Also see Object.Finalize Method (System)[^], Garbage Collection[^] and Implementing a Dispose Method[^].
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Thank you for this insight, Eddy. Still I am confused having the list.count variable reduced after removing the list entry (which is an instance), but the instance itself seems to be still alive (shared counter variable of the class doesn't decrement).
|
|
|
|
|
That is because it still is alive. It will remain so until the GC collects it. You can't "force" it to be deleted from memory.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
hello sir/mam
i am asking about visual basic 6.0 server client connection so please help me a i facing the problem.
i already make a tetris game and run properly but i want to connect my game to play 3 client through server.
you know the flow of a computer game hop?? it's like that the server is the one who can play the client are player1, and player2,and soon they are connecting using winsock.
how to connect my game to winsock please help me this is my project submission.
|
|
|
|
|
|
I'm looking for someone who develops a utility to integrate Gmail with CRM software
|
|
|
|
|
|
Member for six and a half years, and you still haven't worked out that we do not provide code-to-order?
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
Good day friends!!!
Please, before I ask my question, I know VB 6 is outdated by this must be done in VB 6 as the required.
I am able to save text as .wav file but finding it difficult to convert .wav file to text.
Any idea is welcome please.
Thanks in advance!
|
|
|
|
|
You're going to need some speech recognition engine to do this. VB6 doesn't come with one so you're going to have to find something that 1) is COM-based and 2) accepts a .WAV file as input as an alternate to a mic. Start with Google...
|
|
|
|
|
Quote: Friend
What could be happening, because when I say close a form with unload me, it is giving the following error:
Unable to unload within this context
|
|
|
|
|
Show the code where this is happening.
|
|
|
|
|
"Unload" is something from VB6 - VB.NET has a garbage collector. It will be unloaded as soon as there are no active references to the form.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Friends
Passing more information on the problem for better understanding.
See the routine below it is very simple, however I'm getting intermittent error in my application.
Searching the error I got the link below, but checking my process I did not find anything related to the item resize.
If anyone has any other information that can help me in this matter thank you for the attention.
Private Sub cmdExit_Click()
On Error GoTo TryCathError
Unload Me
Exit Sub
TryCathError:
Dim s_dsMsg As String
s_dsMsg = "Error :{" & Err.Number & "}" _
& vbNewLine & Err.Description
MsgBox s_dsMsg, vbCritical, "Error"
End Sub
link ===> msdn.microsoft.com/en-us/library/aa243662(v=vs.60).aspx
There is an Unload statement in the Resize event of a Data, Form, MDIForm, or PictureBox control.
Remove the Unload statement from the event.
|
|
|
|
|
You don't unload in VB.NET; ..and the suggestion from the other site to include an exit-sub is also nonsense.
What language are you targetting? And why do you think you need to dispose something that is in use? Unloading "Me" while you are executing one of its members is like stealing a cup while somebody is drinking coffee.
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Quote: Eddy Vluggen / Grupo
I'm programming with vb 6, the error I passed is code 365
Unable to unload within this context
|
|
|
|