|
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.
|
|
|
|
|
HI to all,
Could anyone please give me the important steps to be done in order to include vlc player in a project(which will be deployed).
What I did is include a COM components(for vlc player).[I am not sure what COM components,but it works in my system] and ran it,it runs fine. But after I deploy my project it didn't run. I am sure there has to be some settings to be done. Please help me out with. I am a beginner.
Thanks in advance
I am a beginner
|
|
|
|
|
Not sure about this but if the computer that you are installing it on doesn't have vlc player installed it isn't going to work (at least not just 'out off the box').
You'll need to register the com component, in order to do this you can set it in the property's off the component's dll (I think) in your setup project.
|
|
|
|
|
In VB, how does one obtain the "Type" info of a file? For example, in a Windows file dialog (Details view) one of the columns provides the native application info for each file. The Type info for a .fun file is "Kool Moves Document" - .doc's Type is "MS Word Document," and so on. How do I get this info for a ListView control in my application?
|
|
|
|
|
SHGetFileInfo[^] >> SHGFI_TYPENAME
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKSQXUFYK[M`UKs*$GwU#(QDXBER@CBN%
Rs0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
--------------------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Thanks! Looks complicated, but will get it phiggered out.
|
|
|
|
|
If you aint good in API then you can do this through registry
TVMU^P[[IGIOQHG^JSH`A#@`RFJ\c^JPL>;"[,*/|+&WLEZGc`AFXc!L
%^]*IRXD#@GKCQ`R\^SF_WcHbORY87֦ʻ6ϣN8ȤBcRAV\Z^&SU~%CSWQ@#2
W_AD`EPABIKRDFVS)EVLQK)JKSQXUFYK[M`UKs*$GwU#(QDXBER@CBN%
Rs0~53%eYrd8mt^7Z6]iTF+(EWfJ9zaK-iTV.C\y<pjxsg-b$f4ia>
--------------------------------------------------------
128 bit encrypted signature, crack if you can
|
|
|
|
|
Hi All,
I am using the following code to send EMail
Public Function SendmailUsingSmtpClient(ByVal destinationEmail As List(Of String), ByVal subject As String, ByVal body As String) As Boolean ', ByVal pblnNotify As Boolean) As Boolean
'Dim Email As New System.Net.Mail.MailMessage
Dim mailClient As SmtpClient = Nothing
' Dim smtp As New System.Net.Mail.SmtpClient(BLLmdlCommon.SmtpServer, BLLmdlCommon.SmtpServerPort)
Dim cred As NetworkCredential = Nothing
Dim smtpserver As String = ""
Dim SendPassword As String = ""
Dim fromMail As String = ""
Dim smptServerPort As String = ""
Dim SendUserName As String = ""
Try
SendPassword = System.Configuration.ConfigurationManager.AppSettings("fromemailpassword").ToString()
fromMail = System.Configuration.ConfigurationManager.AppSettings("FromEmail").ToString()
smtpserver = System.Configuration.ConfigurationManager.AppSettings("smtpserver").ToString()
smptServerPort = System.Configuration.ConfigurationManager.AppSettings("SmtpServerPort").ToString()
mailClient = New SmtpClient(smtpserver, smptServerPort)
' mailClient.EnableSsl = True
mailClient.DeliveryMethod = SmtpDeliveryMethod.PickupDirectoryFromIis
mailClient.UseDefaultCredentials = False
cred = New NetworkCredential(fromMail, SendPassword)
mailClient.Credentials = cred
For i As Integer = 0 To destinationEmail.Count - 1
mailClient.Send(fromMail, destinationEmail(i), subject, body)
Next
Return True
Catch ex As Exception
Throw ex
Return False
End Try
End Function
It is working fine at local. When i check at production server, it is crashing, Cannot get IIS pickup directory
Can you tell me something , Whay should i do to get rid of this problem?
Thanks
|
|
|
|
|
am using vb.net
i got error to inserting the values
error is
ERROR [HY000] [DataDirect][ODBC OPENEDGE driver][OPENEDGE]Invalid number string (7498)
my code
<code>
Dim sVechicleQSLString As String = "insert into PUB.RCMIFT values(3176,842,1663,1,'Salik','Salik road toll','BDMON','Vehicles','A',0,0,1,0,'01/01/1996',0,'',0,0,5,0,2,0,4.40,0,0,0,0,0,0,0,0,0,'','',0,0,0,0,'',0,40.00,0,0,0,0,176.00,'support','',0,0,0,'03/10/2009',11.26,'BDMON','','',03/10/2009,11.26,'',0,0,0,0,0)"
Dim conn = New System.Data.Odbc.OdbcConnection("Dsn=BPB;uid=CWM;host=102.168.0.196;port=6500;db=rental;password=")
conn.Open()
Dim sfcomVehicleSearch As New System.Data.Odbc.OdbcCommand(sVechicleQSLString, conn)
sfcomVehicleSearch.ExecuteNonQuery()
conn.CLOSE()
Dim da As New System.Data.Odbc.OdbcDataAdapter()
sVechicleQSLString = "Select * from PUB.RCMIFT ORDER BY RCMIFT-ID"
sfcomVehicleSearch = New System.Data.Odbc.OdbcCommand(sVechicleQSLString, conn)
da.SelectCommand = sfcomVehicleSearch
Dim ds As New DataSet()
da.Fill(ds, "Rental.vsrfvr")
dgvFill.DataSource = Nothing
dgvFill.DataSource = ds.Tables(0)
End Sub
</code>
pls help me
Thanks
Vicky
|
|
|
|
|
Use parameters.
From the error I can only think that somewhere in that mess off numbers there is one badly formated.
If you use parameters they will take care off the formating and avoid these kind off errors.
(If you don't know what parameters are look into sql injunctions (google it))
Also although its a correct sql statement, better practice is to include the column names into your sql.
example: INSERT INTO [tablename] ([columnname],[columnname],...) VALUES (?,?,...)
And a better subject might be in order as well. Hi all doesn't really say much and many people here will skip the post because off it.
|
|
|
|
|
Take a look at the last date, just after 'BDMON' -you have not enclosed it in quotes.
I would also read up on SQL INJECTION ATTACKS as your code is wide open to abuse.
Bob
Ashfield Consultants Ltd
Proud to be a 2009 Code Project MVP
|
|
|
|
|