|
Then name you see when you try the first method is not the same name you use with GetObject. The filename of the DLL has no bearing on the AppId you use with either. It just so happens that the filename is, apparently, equal to the namespace name you should be using. Without seeing your code, I'm guessing that your AppId string might be something like "MyDllName.MyDllName.SomeObjectName".
|
|
|
|
|
Thanks for help
from where can i know my AppId, or this is default name as you wrote MyDllName.MyDllName.SomeObjectName
|
|
|
|
|
Just a quick question - is it considered bad practise to open a user interface form from an instance of an object? The reason I ask is because that in the future the classes which I am developing may be used for web applications in which case trying to open the user interface would fail.
Thanks for your time.
|
|
|
|
|
Liqz wrote: is it considered bad practise to open a user interface form from an instance of an object?
If you're talking about a business or data layer object, then yes, it's bad practice. These objects should never put up any kind of user interface. First, it's not their job to do so. Second, it makes those objects only usable in a ASP.NET or Windows Forms application. If you wanted to add a seperate client, such as a mobile web app, to the application, you'd have to rewrite the business or data layer objects to accomodate it.
|
|
|
|
|
Just as I thought really. But thanks for the confirmation.
|
|
|
|
|
does anybody know how to take input from the text box and add it to the database ?
thank you
|
|
|
|
|
|
Yes, I do. Do you? If not, have you tried google, its a mine of information.
Bob
Ashfield Consultants Ltd
Proud to be a 2009 Code Project MVP
|
|
|
|
|
How we can fetch the count of print from a particular machine to VB.Net application ?
|
|
|
|
|
Maybe using Win32_Printer or Win32_PrintJob class.
|
|
|
|
|
hi,
i have these code with temperature="TEMP(C) 37.0:\r\n"
X = InStr(1, temperature, ")")
temperature = Mid$(temperature, X + 2, 4)
After the code is excuted , will i have temperature = 37.0
Cause i execute and the value of temperature is not stable ?
Thanks
|
|
|
|
|
Hi,
Your code will extract the substring from the position given. What do you mean by the value of temperature is not stable?
Alan.
|
|
|
|
|
Actually my code is used to get the temperature of the devices . Normally the values in the range 35-39 . But sometimes i got 6 or 7... which are surely wrong ?
Thanks
|
|
|
|
|
Well that would tend to indicate that the device is returning the wrong information. Log all data to a text file and then take a look at the file to see if there is any pattern to the bad values. Your options are to fix the device, or if that is not possible to write code to ignore the bad values.
Until you know a lot more about the data that is coming from the device you can't begin to parse it reliably.
Alan.
|
|
|
|
|
Hi
Don't know if anyone can help.
I have an application running on a server that daily runs a batch of data files through itself, and updates a database with the information.
Someone has to click a 'Go' button, so there is someone monitoring it as it's running.
When I run it on my development machine I can watch the memory go up in Task Manager and then it appears that the GC kicks in and the application never reaches more than 10Mb above it's original memory usage.
When run on the Server (where many more application are running, and there is a total of 8Gb of RAM) the application just grows and grows. We don't let it get above 300Mb. We stop the job and restart it.
Does anyone know if this is OK? Is there a way of forcing the GC to tidy up? There's around 3.5 Gb memory available on the server whilst the app is running, so maybe the GC thinks 'I don't need to do anything yet'. Or maybe the app needs to take a breather or something to allow the GC time to do what it needs to do.
Hope someone can throw some light on the matter
Thanks
Jugs
|
|
|
|
|
First thing you should look at is are you cleaning your objects up correctly and consistently. Meaning closing,set to 'nothing',... the one's you don't need anymore.
Secondly if you are using thirth party components (com mostly has this problem) you might have to call the GC.Collect() and/or GC.WaitForPendingFinalizers() methods. This is not recommended tho (and shouldn't be needed) but I'v found that sometimes it is needed (I work with several thirth party products and so far at least 2 demand this)
Other than that I can only say that 'normally' .net takes care of the garbage collecting and it should 'work out off the box'.
Some operations however do take allot of time/memory. For instance having a data adapter updating a table (with allot off records) takes more time and memory than actually manually going over the datatable (with a for loop) and updating the table with sql-statements. I was able to bring a program that used to take more than 10min down to only a couple seconds with this.
So you might want to look into different ways of doing what needs to be done.
|
|
|
|
|
Hi Tom, thanks for replying.
I couldn't vouch for all objects Disposing and being set to Nothing (null), and we don't use any third party plug ins or anything. So a quick question is:
If an object is not 'Disposed' and not set to Nothing (null), does the GC tidy it up at some point if it goes out of scope? That is my understanding, and when I tested this in a test harness, it certainly seemed to be the case.
I will however endeavour to go through all the code disposing and setting to nothing.
Cheers
Jugs
|
|
|
|
|
jugs0101 wrote: So a quick question is:
If an object is not 'Disposed' and not set to Nothing (null), does the GC tidy it up at some point if it goes out of scope?
Normally yes but it's up to the garbage collector to decide when exactly it's going to be removed from the memory.
Also for some objects you have to call the dispose method (check if the object has the method and call it when you don't need the object anymore) otherwise they keep having a reference and will not be cleaned up bye the GC.
|
|
|
|
|
Tom Deketelaere wrote: otherwise they keep having a reference and will not be cleaned up bye the GC.
This is not true. Objects implementing IDisposable are not treated specially by the runtime. If a Disposable object goes out of scope, it will be garbage collected just like any other object. The reason to call the Dispose method is simply to release the resources used by the object (usually unmanaged resources such as handles for files, GDI objects, or other such things) immediately instead of waiting for the garbage collector to do it.
|
|
|
|
|
Some more thoughts:
1.
AFAIK object finalizing, when needed, is handled in a separate thread, running at a lower priority. This can fail for several reasons: system too busy to ever get that thread to do anything, exception thrown in a finalizer method, etc. When any of these happen, the objects to be finalized never get freed.
2.
it is often tempting to collect objects, say in a static List< myType> for statistical or other purposes. If handled with insufficient care, such lists keep growing and prevent the objects from ever being freed; one should either make sure to always remove the object from hidden lists, or only put WeakReferences into such lists.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Thanks Luc
We had considered that the system might be too busy to perform the GC. Not sure what we can do about that.
Does GC.Collect() force the GC to tidy up do you know?
Thanks
Jugs
|
|
|
|
|
It doesn't force the GC to Collect at that time. It pretty much just makes a suggestion to the GC that "now might be a good time to Collect".
|
|
|
|
|
Hi,
jugs0101 wrote: Does GC.Collect() force the GC to tidy up?
Yes it causes the GC to run, meaning:
1. all your threads get blocked
2. all your objects get sorted into alive, dead-to-be-finalized, and dead-to-be-collected categories; this is rather expensive
3. all your threads get unblocked
4. the collector thread gets launched (not sure it is separate, I guess it is)
5. the finalizer thread gets launched
So GC.Collect() is expensive, you shouldn't call it all the time. Also calling it explicitly disturbes the built-in statistical algorithms, so it may result in much worse behavior (that is from what I've read about it, I tend to organize and clean up may code so I never even want to call GC.Collect; but then I also avoid third-party code!).
Even when calling GC.Collect(), that does not solve some of the issues, e.g. those I mentioned in my earlier message.
Luc Pattyn [Forum Guidelines] [My Articles]
- before you ask a question here, search CodeProject, then Google
- the quality and detail of your question reflects on the effectiveness of the help you are likely to get
- use the code block button (PRE tags) to preserve formatting when showing multi-line code snippets
|
|
|
|
|
Dear Sir!
I have two tables students and subject tables with fields( student_Id,Name),(Subject_ID,Subject,Student_ID)
but in my VB.Net I have two combo box for selecting values and inserting, I just want to insert on value ID and want the both tables to be linked.
|
|
|
|
|
So what is your question?
The linking off the tables you have to do in your database. (on the field 'student_id' in both tables)
The combobox in .NET has 3 property's that might help you:
- Datasource (a datatable containing the values to be displayed in the combobox)
- Displaymember (wich column of the datatable will be displayed in your case probably 'Name' or 'Subject')
- Valuemember (wich column is the actual value of the combobox, in your case probably 'student_id' or 'subject_id')
Without more explanation of what you want exactly nobody here is going to be able to give you a complete answer.
|
|
|
|