|
It looks like you only running this code once a day. This is not a good candidate for a service. This should have been written as a normal Windows app and run as a Scheduled Task. This will prevent your app from consuming system resources all day and not doing anything with them.
Anyway...
There are lots of problems with your code, but I'll just cover a few for now...
mythinky wrote:
Public Shared Function InternetGetConnectedState(ByRef description As Integer, ByVal reservedValue As Integer) As Boolean
End Function
Public Shared Function IsConnectedToInternet() As Boolean
Dim desc As Integer
Return InternetGetConnectedState(desc, 0)
End Function
This will always return False because your InternetGetConnectedState function doesn't have any code in it.
Drop your CheckConnection code. You don't need it. Instead rewrite it as GetDatabaseConnection. This function should accept the Server, DBLib, Username and Password as parameters, build its own connection string, then try and get a connection to the database. If the connection succeeds, return the SqlConnection object, else do nothing. The Exception will pop up the call stack and get handled in the Elapsed Try/Catch block.
Opening a connection and keeping it open for the duration of your app is a really bad idea. This will keep an expensive licensed connection open on the SQL server not release it. You should get a connection to the server as late as possible and release it as early as possible in your code. Don't hog server resources by keeping a connection open.
You have two timers in your app, only one of which you are using. Remove all Timer code and references.
Don't start your timers until all of your initalization is done. This means don't put Timer1.Enable at the start of your OnStart code, put it at the end.
Also, in your OnStart code, forget checking your database connection. You don't need it. When your Timer Elapsed code runs, your sequence should be something like this:
Disable the Timer. (Yes, you heard me right!)
Check to see if it's time to go to work
If not, Exit Sub
Get the app settings.
Try
Get a connection to the database, passing the settings we got.
Get the information we need from the SQL Server.
Do we need to do anything with the data.
No, report this to the EventLog.
Else
Try
Do our processing on the EMail message.
Report to the EventLog what we did.
End Try
End If
Catch
Report any errors to the Event Log.
Finally
Make sure our connection object is closed and disposed.
End Try
Re-enable the Timer.
Why is the timer being disabled at the beginning of the Elapsed event code? Because this will prevent the Timer from firing another Elapsed event in case we're still in the middle of handling the last Elapsed event. When were done handling the event, re-enable the timer.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
<dllimport wininit.dll="">
Public Shared Function InternetGetConnectedState(ByRef description As Integer, ByVal reservedValue As Integer) As Boolean
End Function
Does the InternetGetConnectedState do anything once i import the dll library? I am not sure about the name of the dll that i've imported.
------------------------------------------
How to highlight the message become to a specific color displayed in the forum? Sometimes I want to quote, i just copy it, then just post it
Disable the Timer. (Yes, you heard me right!)
Check to see if it's time to go to work
If not, Exit Sub
Get the app settings.
"What does the get application settings means? What is it used for?"
Try
Get a connection to the database, passing the settings we got.
Get the information we need from the SQL Server.
Do we need to do anything with the data.
No, report this to the EventLog.
Else
Try
Do our processing on the EMail message.
Report to the EventLog what we did.
End Try
End If
Catch
Report any errors to the Event Log.
Finally
Make sure our connection object is closed and disposed.
End Try
Re-enable the Timer.
Thanks
Learning .NET
|
|
|
|
|
DllImport wininit.dll
'The code are put before the "InternetGetConnectedState"
function.
I put the code in between "< >", thus it appears nothing in the forum.
Learning .NET
|
|
|
|
|
The function your using has nothing to do with determining the connection state of the Internet. Go figure... It's actually a refleciton of the connection type state of Internet Explorer. And the .DLL import is "wininet.dll"... Your function declaration should look like this:
Declare Function InternetGetConnectedState Lib "wininet.dll" _
(ByRef lpdwDlags As Integer, ByVal dwReserved) As Integer
Then, when you want to call the function, you use this:
Dim returnValue As Integer = 0
Dim igcsFlags As Integer = 0
returnValue = InternetGetConnectedState( igcsFlags, 0 ) ' 2nd parameter MUST be 0!
BTW: When you post something using the < and > symbols, replaced them with
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
mythinky wrote:
Does the InternetGetConnectedState do anything once i import the dll library? I am not sure about the name of the dll that i've imported.
Not unless you call it properly. And it your code, I don't think you did.
mythinky wrote:
Get the app settings.
"What does the get application settings means? What is it used for?"
I don't know...you wrote the code!
sServer = GetSetting("Library", "DBConn", "server", "")
sDBLib = GetSetting("Library", "DBConn", "dblib", "")
sUsername = GetSetting("Library", "DBConn", "username", "")
sPassword = GetSetting("Library", "DBConn", "password", "")
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi,
I have a ASP.NET web application project. When I try saving it, The Save File As dialog box appears and it gives me 3 saving format options:
Save as type:
Text Solution File (*.sln)
UTF-8 Solution File (*.sln)
Unicode Solution File (*.sln)
|
|
|
|
|
Oops, sorry. Here's the question:
What are the differences amongst the 3 options? Which format should I save my project/solution in?
I'm quite new to ASP.NET web apps. Any help is appreciated. Thanks!
|*Ooraclec*|
|
|
|
|
|
For an English project, it really doesn't matter. By default, your project will be saved with UTF-8 Encoding. If you were making a website that used 16-bit (or larger) character, like Hebrew, Chinese, Arabic, or Japanese, then your would use the Unicode or UTF-16 Encoding.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
I am running one application and i want when user minimize that package the icon should appear in system tray and when user bouble click that icon in system tray the package will maximized.
How i can do that? Can any body gime some tips.
|
|
|
|
|
You have to include a NotifyIcon in your application. See this[^] for the docs on the component class.
You'll also have to change the Form's ShowInTaskbar property to False. When the user Minimizes the Form, your NotifyIcon will be the only way the user can restore the form.
You'll then have to handle the NotifyIcon's DoubleClick event and set the Form's WindowState to FormWindowState.Normal and then Show() the Form.
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Is there any way to select Root element?
VB6
|
|
|
|
|
Define "Root element". You can have multiple root TreeNodes in the Nodes collection, any of which are selectable. Can you be a bit more specific about what your trying to accomplish?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
just like "root element" in xml
|
|
|
|
|
I know it's just like the root element in XML, but the TreeView has no equivelent. That's why I asked you to be more specific about what your trying to accomplish. All the nodes in the TreeView control are contained in the Nodes property of the TreeView. Each Node has a property which determines wheather or not that node is a child and what its parent node is. If Parent returns Nothing, this node is a root node.
So, I'll ask this again. What are you trying to accomplish by selecting the root node(s) of a TreeView control? How do you want to select this node? By clicking on it or by doing what to it in code?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
to select the root node in the TreeView control
Dim rnode As Node
Set rnode = TreeView1.Nodes(0).Root
now the rnode is set with the root node of your treeview control.
thanx,
ravi
|
|
|
|
|
.
modified 1-Dec-11 1:37am.
|
|
|
|
|
Best way to do it is by setting a reference to Excel (Project->References), then manipulate it using the excel object model
Or treat it like a datasource, and run SQL against it...
Look on MSDN for further info, or mail me at the addr below with what you have, and can take a look
"Now I guess I'll sit back and watch people misinterpret what I just said......"
Christian Graus At The Soapbox
|
|
|
|
|
Hi, does any one know how to write the code to detect shares session in windows 2000 or windows xp when there is a change when another user access our share resource over the network? The code could be vb6 or vb.net. Thank you!
Roath Kanel
APO-CEDC
Save Children Norway-Cambodia Office
|
|
|
|
|
Are you looking at monitoring changes in the Share, like changes in security, permissions, adding a share or removing one, or are you looking ar monitoring the files under the share for changes?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Thank you very much for you valuable question. Of course my intention is monitoring the value of the other user when they access to our share file.It is not relate to security, permission....
When you working with "Computer Management" under the share and session folder, the value alawys change based onthe. I need to control that value in vb6 or vb.net.
Roath Kanel
APO-CEDC
Save Children Norway-Cambodia Office
|
|
|
|
|
Roath Kanel wrote:
Of course my intention is monitoring the value of the other user when they access to our share file.It is not relate to security, permission....
When you working with "Computer Management" under the share and session folder, the value alawys change based onthe. I need to control that value in vb6 or vb.net.
Value? What value? "based onthe"? Based on what? There are no "value"'s there so I don't know what your talking about. Are you talking about restricting the number of users who can attach to the Share? Or are you talking about controlling the number of users opening a file under a Share?
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hi, I’m sorry that I did not give you clear enough information. Let get back to Computer Management in windows xp or 2k. Under “System Tools” there will be a node call “Shares Folders”. Under the “Shares Folders” nodes there are 3 sub nodes call “Shares”, “Sessions” and “Open Files”. Look at the right pane after you click on the “Shares” node, there will be a column label “# Client Connections”. This column represent the value of the user that has connect to your computer to access the network resources. If you click on the “Sessions” folder there will be a column label “User” at the right pane. This column will list detail user information such as computer name, connected time…
So, instead of open computer management and trace an activities, I would like to write an application that could will notify me any time if there is a user connect or disconnect from my network resource, and also the name of the user or machine name that connect our computer. The code could be written in vb6 or vb.net
Thank you!
Roath Kanel
APO-CEDC
Save Children Norway-Cambodia Office
|
|
|
|
|
How to make a form displaying the time according to our system date and time? How to check whether the date has changed or not? Or how to check whether the time is on specified time, e.g. check whether the time is 10:00 a.m or not?
Thanks for yout time....
Learning .NET
|
|
|
|
|
mythinky wrote:
How to make a form displaying the time according to our system date and time?
Drop a TextBox or a Label control on the form:
TextBox1.Text = DateTime.Now().ToString()
mythinky wrote:
How to check whether the date has changed or not?
There is no event that fires when the System Date/Time changes. You have to keep track of the Date when your app starts, then once in a while, say every minute, check the current system Date against the stored version. If the current Date is lower than the one where your app started, then the date changed. If the current date is greater than the stored date, then you have to check to see if midnight rolled over from the last time you checked. If it has not rolled over midnight, then the date changed.
mythinky wrote:
how to check whether the time is on specified time, e.g. check whether the time is 10:00 a.m or not
This code will check to see if it is 10:00am on the current date on which it is run:
Dim currentTime As DateTime = DateTime.Now()
Dim checkTime As New DateTime(currentTime.Year, _
currentTime.Month, _
currentTime.Day, _
10, 0, 0)
If DateTime.Compare(currentTime, checkTime) = 0 Then
' The current time is 10:00am today...
Else
' The current time is NOT 10:00am today...
End If
RageInTheMachine9532
"...a pungent, ghastly, stinky piece of cheese!" -- The Roaming Gnome
|
|
|
|
|
Hello All,
I need to create a macro in excel that determines all the possible unique permutations of a set of numbers. It is simple in concept but in my opinion it is not simple to code. Basically I want to do the following, the user enters the various number in seperate cells for the set(maximum number entered would be twelve), then enter the the maximum numbers to use in a squence from the set, i.e. determine all the pairs (2 numbers) within a set of three numbers. The program will then calculate all the unique permutations in the rows below (placing each number within a seperate cell within that row). Unique meaning that if 1,3 will appear then 3,1 would not since 1 and 3 are already combined.
Here is a simple visual of what I would like to do for the number of pairs within a set of three numbers.
Squence number (Choose a number 1 to 12 for the grouping):
Row 1 Cell 1: 2
Set of Numbers (Maximum of 12 Numbers):
Row 2 Cell 1 : 1 Row 2 Cell 2 : 2 Row 2 Cell 3 : 3
Program output should be the following:
Row 4 Cell 1 : 1 Row 4 Cell 2 : 2
Row 5 Cell 1 : 1 Row 5 Cell 2 : 3
Row 6 Cell 1 : 2 Row 6 Cell 2 : 3
I hope that this makes sense, but if anything needs clarification, please let me know. I hope you all can help me out. Thanks in advance for your help with this.
John Breen
|
|
|
|
|