Cannot Consistently And Reliably Write To A Custom Event Log From DotNet
Oct 13, 2010Cannot Consistently and Reliably Write to a Custom Event Log from DotNet
View 4 RepliesCannot Consistently and Reliably Write to a Custom Event Log from DotNet
View 4 RepliesSo I've been working with DotNET for a few years now; long enough to establish solid preferences for one available element over another, one available logic over another, and then to develop preferences for aspects of elements and logics.
The one that conflicts me the most is the stock Settings construct. It's a great idea - I mean everybody needs basic data persistence that isn't worthy of databasing, right? It's implemented in a way that anybody - and I mean anybody from flat beginner to highly advanced - can benefit from it. It does some heinously stupid stuff, though; for example, it angers me (and I mean full-on, where's my crowbar-OK-now where's the silly @#*! who came up with the idea anger) that the only way to save it is the way that's hardcoded in. The .SAVE method takes no parameters, there's absolutely zero exposure for the save-path to provide a more deliberate location, so the only place any settings ever get saved is in a ridiculously long (and literally arbitrarily designated) user-profile-based path.
So what happens if/when a user is ready to upgrade their OS (or just reformat and reinstall their OS, which the kinds of people who end up on my client list are prone to do just as part of quarterly maintenance), and they want to save their personal application settings to load in the next time around? They either have to hunt out that moronically obfuscatory save location or I have to write special (and I mean riding the short-short-short bus special) code which is more or less a whole new settings class identical to the settings classes implemented in the application to begin with, just to allow them to export their settings to a known location for transfer.
And what happens if a specific setting needs special treatment beyond the basic 'changing' and 'changed' events provided by the stock class? Since any change to the Settings Designer rewrites the whole code-behind property declarations, I can't do it in that code file; I either have to extend the Settings class or get back on the short-short-short bus and write that special 'mirror-class' again.
I'm not much for just general whining though, so some time back I wrote my own serializable classes (designed for specific data persistence, like generic/universal application settings and then also MySQL server connections/credentials and then also form properties and then also application-specific settings) along with shared save and load methods which give me more control over where settings get saved. These classes have evolved over the last year or so until they're actually pretty awesome (even if that's
just my opinion)... I've even implemented full on-disk and in-memory encryption functions for applications that need different privilege levels, to prevent any tampering at any time.
And then a multi-user application project comes along and suddenly each individual settings class needs multi-user support based on the Windows user logged in, and suddenly the stock Settings class is the best option again even though it's still the worst possible option in settings persistence.
So what I want to know from this discussion is this:
How do YOU handle application and user-settings persistence? Is there something really key that I've been missing all this time that makes the stock Settings class more than absolutely worthless (which has been my opinion since about the first time I ever had to work with it)?It never hurts to try. In a worst case scenario, you'll learn from it.
I'm using custom serialization and when the xml is generated it's putting the class name as the root element
Example:
<MyClassName>
<MyIntendedRootNode>
<ObjectType>
[code]....
I'm invoking the serialization by calling xmlserializer.Serialize(writer,Me) so I'm sure that has something to do with it.I've tried putting XMLRoot onto the class, but I think as vb is compiling this partial class with its aspx page, it's either overwriting this property or ignoring it entirely.I'd like to just tell it to either throw away everything it has and use a different root element.
I cannot seem to open a new window in WPF consistantly. It will work one time, and then the next time I execute the same script, it throws the following exception:
XAMLParseException occured 'Provide value on 'System.Windows.Baml2006.TypeConverterMarkupExtension' threw an exception.' Line number '4' and line position '208'. {Cannot evaluate expression because the code of the current method is optimized.}
Here is the script:
Dim Window As Window = New GAME_WINDOW
Window.Show()
Yes, "GAME_WINDOW" is a legitimate WPF window. Here are the first four lines of XAML code for the window I'm trying to open:
<Window x:Class="GAME_WINDOW"
xmlns="[URL]"
xmlns:x="[URL]"
Title="Operation SpyRat: Word4Word" Icon="/VBP-WORD4WORD;component/alicia.ico" WindowState="Maximized" Background="Black" xmlns:my="clr-namespace:VBP_WORD4WORD">
I am trying to write a program to download an image at certain time intervals from a website based on a start time, end time and the time interval. I am trying to use 3 timers to accomplish this. I want to be able to kick the program off and leave it running until I stop it. My code seems to work fine if I set the time interval for something like 2 minutes, etc. and sit and watch it, but if I set it for an hour and leave it alone, it gives me almost sporadic results.
I set it to start at 10 pm last night and end at 5 am this morning with an interval of 1 hour. It downloaded an image at 10 pm, 11 pm, 12 am, 1 am, 2 am, and 3 am and then there were no images for 4 and 5 am. I have tried this multiple times with different time spans, and seem to get sporadic results. Any insight would be greatly appreciated. Here is my current code:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If TextBox1.Text.Length = 0 Or cmbStartTime.Text.Length = 0 Or cmbEndTime.Text.Length = 0 Or TextBox2.Text.Length = 0 Then
MsgBox("You must select an image destination, start time and time increment.")
Else
[code]....
I have an ErrorProvider on a form with a DataGridView.The Binding Source for the DGV points at a single table in the DataSet (which hooks up to an underlying Access DB).The table has two columns:
1) Autoincrement PK
2) Text field, <=25 chars, unique, can't be Null or empty string
I test for string length (>0 and <=25) in the DataSet.Table.RowChanging event.If it's out of range then I use e.Row.SetColumnError, that passes the error to the ErrorProvider / DGV on the correct row and DataSet.HasErrors returns True. All good, no problems.
I test for uniqueness in the DataSet.Table.ColumnChanging event.If it's not unique I can set the error with either e.Row.SetColumnError or e.Row.RowError; Now it gets complicated since sometime this makes the ErrorProvider / DGV show the error and sometimes not, it depends on whether the DataSet keeps the Unique = True constraint of the underlying DB.
Why would I have the DataSet be False for Unique when the DB is True for same constraint? So that the user interaction with the form has the minimum of dialogue box based interuptions. I am trying to design a system whereby all issues / errors are reported
to the user as they interact with the form in a subtle way, allowing them to keep working but trapping errors before any attempt to Save from the DataSet to the DB.
So, if the DataSet keeps the unique constraint then when you insert the new (duplicate) row the DGV throws its DataError event, a default dialogue appears, behind which the DGV has the ErrorProvider icon on the correct row. However, since the DataError event
causes the problematic change to be rolled back, the new row is removed and the error disappears.
If I change the DataSet requirement to Unique = False, then SetColumnError does not cause an ErrorProvider icon to be shown and DataSet.HasErrors returns False. I can improve upon this slightly by using RowError, this causes DataSet.HasErrors to return True but the ErrorProvider icon still does not show.Further, when using Unique = True on the DataSet, and editing an existing row to be a duplicate of another, the behaviour is the same, DGV.DataError event, roll back of the change but the ErrorProvider icon remains, despite the row no longer being a duplicate and DataSet.HasErrors returns True. The text of the the ErrorProvider tooltip is the one from SetColumnError, not RowError.So, the behaviour of SetColumnError is affected by the state of the DataSet field Unique constraint?
Unique = True
SetColumnError affects the DGV / ErrorProvider and DataSet as expected.
(RowError behaviour unknown)
Unique = False
[code]....
I have a timer control that sends data to a hardware every 3 seconds. I sent 6 bytes of data. In return I am expecting 8 bytes of data in DataReceived event. First time I send 6 bytes of date, in DataReceived event, I get the expected 8 bytes. Then in next 3 seconds, again the expected 8 bytes of data is received. But after that I find that DataReceived is fired 2 times: first time I get 6 bytes and then I get 2 bytes. After that I again get 8 bytes as expected. So in short, 2 times I get 8 bytes as expected and 6 bytes and 2 bytes and again 8 bytes. This pattern is repeating continuously. Why? Is there any reason why I cannot get all 8 bytes everytime? Note that the code is in vb.net 2008
Code in button btn_Start ()
'Set serial port parameters
x.PortName = "COM1"
[Code].....
I have a requirement that users be connected via the LAN for a small service I am writing. Simply check My.Computer.Network.IsAvailable isn't enough because that will detect any network (e.g. wifi). I need to check whether or the user is LAN connected (and can therefore connect to an Oracle DB)
View 1 RepliesIs there anyway to reliably know when a large file has completely finished copying to a particular folder? For example, Computer1 copies a large file to Server1Share1. On Server1Share1, I want to do something AFTER the file is done copying, without Computer1 intervention.
View 2 RepliesI have researched the Internet and found more than a few potential solutions, but I keep getting errors on a Windows 7 machine. Here's the scoop. I have an application written in VB.NET that launches a console application. The console application will run independently of my VB.NET app, so the user can close and restart the VB.NET app and potentially start a second session of the console app from the same installation.
[Code]...
Is there anyway to reliably know when a large file has completely finished copying to a particular folder? For example, Computer1 copies a large file to Server1Share1. On Server1Share1, I want to do something AFTER the file is done copying, without Computer1 intervention.
[Code]...
VS2008 SP1, Winforms solution, VB.NET, compiling for x86 and .NET v2 I have about a dozen projects in the solution, with a couple of Windows forms projects and some class libraries. If I rebuild the solution, it clears out and recompiles all the projects, as you'd expect... and then disappears without trace or error message. Since I'm reconnecting to VSS 2005 over HTTP across the internet, it takes all month to start back up with everything loaded, so it's incredibly irritating. The compiled application itself works fine, and normal build and run after changes also works fine.
EDIT: Just to clarify, No add-ins except Refactor! (I know, I guess I ought to try uninstalling it to see if it's that, but it's just too useful! - I will see if there's an update though). And no custom build steps. It's just a vanilla Winforms app, with references between the projects (and some references to COM dlls for interop).
[Code]....
Searched High & Low to find a reliable way to get HDD real serial numbers in VB.NET. WMI method using Win32_PhysicalMedia, does not work reliably (I am administrator & using XP Pro & SATA drives)
View 4 RepliesI am working on server side application of FB login.Having converted the example here:[URL]..To VB, and using System.Net.WebRequest.Create to retrieve the responses I am now able to get a text string including the access_token and the expiry time in the following format: access_token=ACCESS&expires=2577
Obviously I can split this into an array and split the parts to get the access_token But, on the FB Developers example above, they do it with PHP like so: $params['access_token'];Is there a VB.net way of doing this? This seems more reliable to me than teh aforementioned splitting idea, ie, if FB change the output format.
Environment: .Net 3.5 VB.net (C#ok too) I wrote a multi-project WinForms app that needs to load a couple dozen variables from a client section of a config file based on user's selection of client. Also some program variables need to be loaded as well. So far so good, I put them in an app.config file.In the appsettings section I put the main program variables. e.g.
[Code]....
What is the best way to write data from a hierarchical set of objects to a file? The highest order parent has 1000's of children all with children (DOM style). Trying to traverse the tree and creating one big string which is then written to a file is throwing an out-of-memory exception while creating the string.
Details I've created a set of classes that make up an HTML document. There was control that I needed that the pre-packaged HtmlElement and HtmlDocument didn't give. The Document Object Model is maintained throughout, with some similar methods and properties and such. I'm using the custom classes to create a very large HTML document. When I say large, I mean on the order of over 2000 printed pages. It's doubtful that they will all be printed, but some will be.
My base HTMLElement object, from which all other objects are derived, contains an OuterHTML property which, as expected, gets the full HTML of the calling object and the HTML of all child elements. After the code which generates the report runs, I have my HTMLDocument object containing the entire report which needs to be written to a file. Here is where I keep running into problems.
If I call OuterHTML on the HTMLDocument object, I get an out of memory exception.
Other reports have saved fine, but this is by far the largest report I've thrown at my HTMLElement object. My assumption is that the property call is generating too much text.
I am basically just creating a new .HTML file, opening it for reading, and writing in all of the text. Like:
File.WriteAllText(FileName, HtmlDoc.OuterHTML)
vb.net - Ways to reliably split a URL string and extract required part
View 15 RepliesI want to write the data to a file which in an format that is only understandable by my program, and if any one opens it in notepad must not be able to read(understand) it.
View 8 RepliesI need a event that receives the position/location of an control, for example a Image-control, which i move with an animation.So I found some code from this post that I need, but I can't figure out where to put the code.Should I put it in some event e.g. the windows loaded event or what? What am I missing?
C#:
var topDescriptor = DependencyPropertyDescriptor.FromProperty(Canvas.TopProperty, typeof(Rectangle));
[code].....
I am creating an application which has n numbers of tabpages in three different tabcontrols. some of the tabpages are having graphs and rest of them are having some other calculations based on the data of focused graph tabpage.What i want is when user selects different tabpage containing graph the data of the graph tab should be passed to all the other tabpages using the data to calucate. There is one way which i get is to loop inside all the tabpages,but i want to raise an event from the graph page and handle the event in all the rest of the calculation pages.
[Code]...
I am trying to develop a VB .NET Windows Form Application FTP client that uses the C# .NET FTPLibrary.dll that I obtained from The Code Project article "A Windows FTP Client". I am also converting and using significant amount of the code from the article which, for the most part, I have been able to successfully convert to VB .NET using Developer Fusion's C# to VB code converter. The dll has a new message handler (NewMessageHandler) which is used in the article's main form (frmMain). There is a C# .NET statement in the SetFtpClient() method of frmMain that I am unable to convert to VB .NET. I have boxed the statement I need help with converting to VB .NET with " ===== " statements. [code]
View 3 RepliesSo...numeric sorts. Do I really need to write a custom comparer to make a listbox full of numbers sort itself like:
[Code]...
I have a problem to handle an event on a custom control a have on a form.... So first i made a custom control that is just a groupbox with some labels and txtboxes. That control i add dynamically to my form like this (Baycontrol is the name of my control)
Declaration
Code:
Friend Bay(29) As BayControl
Add the controls to Form
Code:
For Simindex = 0 To 29 'Me.Bays - 1
[Code].....
I want to let TextBox control TextChanged event fire only when there are more than one character in the TextBox.
View 2 RepliesI've got a page (aspx) that contains a usercontrol (ascx).On postback of the aspx, I'd like to read some control values in the ascx. So upon reading some good articles, I created an event in my aspx that fires on postback.The event handler is in the ascx, and simply writes the values I'm interested in to the viewstate so that the parent page can read them.The problem is my event handler never gets hit, even though I see the event is raised as I step through the code. So my code bombs when trying to read the viewstate (which is empty)[code]Oh, did I happen to mention I'm dynamically loading the ascx? :)
View 2 Replies(using vb 2008 I am learning the workings of Custom Events. I think they might solve the problem of being unable to declare nonserialized events in vb2008. However, do custom events follow any sort of inheritance pattern like classes
View 4 RepliesI'm pretty sure i'm not doing this right but i hope by asking this someone can show me the right path.I've created a function that creates a label and 7 checkboxes arrays . So depending how many names i get from my database, it creates that many for the label and the other checkboxes.
Now my function is inside a module which i call in my Class Form during "Load".
So what i want to do is be able to code in an event where the user checks on one of these
I never did custom events and would like to make a sub procedure execute via a custom event from another form that does not have the custom event defined. For example I would like to raise the event from my ok button in one form and have the event in the other form execute. How to set this up using code examples?
View 2 RepliesI create several Labels using this code:
Dim L As New Label
AddHandler L.Click, AddressOf Labclick
Me.Controls.Add(L)
I know how to do click events but how how do i make an event for it that does something when the mouse hovers over one of the Labels?for example if the mouse hovers over a label it changes text color to RED...when mouse leaves it changes back to BLACK?
I have a Windows Service project designed to monitor an email account and make entries into a SQL Server database when certain emails arrive. This is a rewrite of a similar winforms program that works just fine, except that it requires that the computer be logged into an account and the program started manually, which I can avoid by using it as a service.In the service I maintain a list of logged messages - basically just a string and a timestamp indicating that something has happened. (That list is shared out over a WCF service but I think that's immaterial, at least at the moment.) In my custom class I declare a public event, and elsewhere I raise that event. For some reason, though, the RaiseEvent isn't being run in the service. For example:
[code]...
The problem in this case is that _pc_HandleEvent isn't ever being called. If I duplicate this setup in a regular winform program, everything works like it should. What am I doing wrong? How do I get a service to handle events raised from other classes?