Serialization Fails Because A Form Is Handling A Custom Object's Event
Aug 12, 2009
My application's binary serialization was working well up to today (this is not a released app yet - still in development). I have a "Project" class that is the top-level class of a hierarchy of other classes related to its function. And before you think it, yes, all of those classes are marked as serializable. Infact, they all were being serialized before today.
I have one event on the Project class that assists in informing when the project's save status has changed (i.e. new, modified, saved). This event was added today along with some events on the other classes that filter up to the Project class (the project needs to be told when its objects have been modified). I unfortunately added all of this at the same time so I can't provide any incremental details as to when it stopped working, but when I try to save the project through my binary formatter it tells me that my main form is not marked as serializable. Well, yeah... of course it isn't! it shouldn't need to be because there is no member of my classes that even mentions the form. But for some reason handling the Project's event on the form triggers this error.
Serializing the form is not a solution. Neither is not being able to handle my Project events. If I comment out the handler it works fine -- and I don't even have to remove the WithEvents keyword on my form's Project variable. Now that I write that I'm speculating that it may have to do with the event being raised as a result of the serialization (occurs when the save button is clicked).
View 7 Replies
ADVERTISEMENT
Jul 24, 2010
I have a custom class which basically manages the program settings.
In it's New() event, I'm performing a check to see whether a value stored in My.Settings is the same as the default value (I made sure the value wasn't!), if not then it will perform a RaiseEvent ValueChanged().
On my form, I have an instance of the class declared "Private Withevents ProgramSettings as New clsProgramSettings", I also have a handler "Private Sub DoSomething() Handles ProgramSettings.ValueChanged" declared.
When I run the program the form gets loaded, the instance is created, the RaiseEvent is called, but the handler is not receiving the event?
I tried "Private Withevents ProgramSettings as clsProgramSettings", then creating the instance in the Form.Load(), but still no success!?
Is there something I'm doing wrong, or is there a problem with the IDE? I'm using VS 2010.
View 2 Replies
Mar 15, 2010
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.
View 5 Replies
Jan 11, 2010
I'm struggling to get a label or any item updated during an event handler I've tried Form.refresh/update, application.doevent, trowing laptop out of window, etc...
If i check for TextChange event on the label and return the value in a msgbox it is set however nothing is shown on the form I'm calling COM's in a backgroundWorker so the form stays responsive as the COMS take quite a bit of time to handle certain parts and I dont want the form to look as if it hangs.
Private Sub cmsCon_Change(ByVal iState As ACSCN.LoginState) Handles cmsCon.NotifyProgress is where the update occurs in the handler by calling the UpdateStatus() Method
Here is the
Imports System.ComponentModel
Public Class Avaya
'declaration
[Code].....
View 6 Replies
Dec 30, 2009
Using VB.Net I've added a CTRL-C handler:
AddHandler Console.CancelKeyPress, AddressOf QuitHandler
Which does the following:
Private Sub QuitHandler(ByVal sender As Object, ByVal args As ConsoleCancelEventArgs)
Console.WriteLine("Quitting...")
[Code]....
I then have a main loop which just runs until Quit=True.
This all works until I start reading from the serial port:
Private Sub port_DataReceived(ByVal sender As Object, ByVal e As System.IO.Ports.SerialDataReceivedEventArgs) Handles Port.DataReceived
at which point the CTRL-C handler gets ignored for about 30secs at which point the console app just terminates without going through the cleanup code.
View 2 Replies
Aug 26, 2011
I used the ideas from this post to create a custom collection of my custom class, so that I would be able to easily sort my collection. My project uses binary serialization to save everything (well the important stuff anyway) to a file. The problem is that my custom collection now breaks the serialization.I can't seem to figure out how to get the custom collection to serialize![code]
View 10 Replies
Aug 3, 2010
I'm implementing some custom serialization (to byte array), and have run into a problem handling circular references.Example:
Class A
public MyBs as new List(of B)
End class
Class B
public MyParent as A
public MiscInt1 as integer[code]....
If I know that an instance of B will only ever be serialized through the serialization of an instance of A, then I can handle the setup of the MyParent reference from the instance of A and not even record that information inside the byte buffer for the instance of B.This doesn't feel quite right, but it might be the best solution.
View 1 Replies
Jan 19, 2012
following code from c# to visual basic, and I'm coming up with the following error: 'Public Event ItemCheck(sender As Object, e As System.Windows.Forms.ItemCheckEventArgs)' as an event, and cannot be called directly. Use a 'RaiseEvent' statement to raise an event.
[Code]...
View 8 Replies
Nov 29, 2010
I'm trying to XML-serialize a class the properties of which I use to format a document.Basically, it is a class for the document's header and another class for its rows. url...In this class diagram, the class I want to serialize is ExcelPrintCorte that inherits its methods from ExcelCabec and has a private member ExcelPrintDocumento (and a public method to get it).My purpose is to XML-serialize ExcelPrintCorte and save the inherited properties' values and also the properties' values of ExcelPrintDocumento. I followed many guides to XML-serialize an object but it saves nothing but: [code] So, what am I doing wrong? Or is what I'm trying to do not possible with XML serialization?
View 1 Replies
Jun 22, 2010
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 Replies
Jul 17, 2009
I am trying to save a custom object as a user setting in a VB.net app. This object consists of a List(Of Pair(Of String, Object)). Pair is a custom class which has two read/write properties (a String and an Object).
If I put simple types like int, string, datetime as the second value of my pair, the setting is saved without any problem. But if I try to put something more complex, like a list, there seems to be a problem during serialization and my setting is not saved.
String values in my pairs are serialized like this:
<value1>Priority_1</value1>
Object values are serialized with a special attribute:
<value2 xsi:type="xsd:int">2</value2>
Seems like values of type Object are serialized differently, to "remember" what is the real type of the object. Why can't it do the same for more complex types like List(Of T)?
View 1 Replies
Sep 24, 2010
I'm having an issue where my main form isn't updating even though I see the event fire off. Let me explain the situation and share some of my code which I'm sure will be horrible since I'm an amateur. I created a class to take in the settings for running a process in the background. I add some custom events in that class so I could use that in my form instead of a timer.
[Code]...
View 3 Replies
Feb 10, 2010
My quest is in regards to xml serialization. I need to get rid of the root node of a collection. I don't have access to my source now so I'll just try to generalize
public class SomeClass
'...some other properties...
<XMLArray(isnullable:=true), _
<XMLArrayitem(datatype:=(getType(object1)), _
[code]....
View 6 Replies
Feb 15, 2011
I have alot of experience in working in VBA for excel, but not so much experience in creating my own structures so it's all still a bit foggy. I'm trying to capture the event for when the F1 key is pressed, not just when the form is active, but anytime the program is running. The code below expressing the handling is automatically generated for me in VB Express... But I'd like to change the situation to encompass anytime the program is open. I guess I have to reference events that happen in windows in general, but i don't know how to do it. I think i have to create the even in a class module?
[Code]...
View 3 Replies
Jan 16, 2009
i declared a global variable button:
Dim button1 As New Button()
Now, i dont know how to add a click event in this button since it is a variable.
View 3 Replies
Mar 5, 2010
I need to avoid serializing an Event class member because when the event is handled by an object that is not marked as Serializable the serialization will fail.
I tried using the NonSerialized attribute on the Event class member but it fails to compile. This line of code:<NonSerialized()> Public Event PropertyValueChanged()
produces the following error: Attribute 'NonSerializedAttribute' cannot be applied to
'PropertyValueChanged' because the
attribute is not valid on this
declaration type.
Public Event PropertyValueChanged() ' compiles but needs the extra handling described below
Is there another way to avoid serializing Event members? This is not a problem if the event is not handled and I can work around it by cloning the objects (and ignoring the event) before serializing them. Just wondering if there is a better way.
View 3 Replies
Feb 3, 2011
Is there any way to create an XmlSerializer that stores along with the serialized data the data type, then when deserializing, it automatically identifies the type of the serialized object and creates an object of that type (returned as object).
View 1 Replies
Oct 30, 2010
Can somebody post a GOOD and short example of serialization and deserialization of an object?Where it can produce an output to string and later be crypted for database purpose. ^.^
View 4 Replies
Dec 9, 2011
Why is hi failing to even hit the event? This should be htting the event, I see no reason why it would not hit this event when I press the enter key, instead I get a beep sound.
Private Sub Browser_1_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Me.KeyDown
If e.KeyCode = Keys.Enter Then
WebBrowser.Navigate(tb_Address.Text)
End If
End Sub
View 5 Replies
Mar 8, 2010
When debugging a program, instead of doing this on EVERY piece of code:
Try
MyFunction()
Catch ex as Exception
MsgBox(ex.Message)
End Try
Is there a way to apply that to everything error I encounter without writing it on every function/sub/etc?
View 3 Replies
Jun 2, 2009
All of us use the try catch blocks. But what is the best way of handling errors within custom functions?Display a messagebox to the user when the exception is thrown (if possible within the function), or return a value indicating that an error was found within the function?
View 3 Replies
Nov 3, 2011
I have a custom control I'm creating. When I click on it, it draws a dotted border and puts some nubs on it for resizing. This all works perfectly. Now I want it so when I click off of it, it deselects. I already have a variable to set up if it's selected or not and subs to draw/clear it. I just have to be able to detect when something else is selected or it gets clicked off of.
What I've Tried
My first and best solution to this was to use the LostFocus event, but, by custom control apparently won't let it fire. After some research, as far as I know, custom controls don't have Focus events because they are custom and could be changed (basically, you have to implement the focus events yourself).
My Question
Does anybody have a solution to either implement the focus events or a way to handle off clicking for custom controls?
Sources
Here is my controls current source:
Imports System.Drawing.Drawing2D
Public Class wDOMElement
Inherits Control
[Code]....
View 1 Replies
Mar 30, 2011
Problem that you may have when dealing with two objects that are raising some events. Here, to make it obvious, I am closing the form, but the problem can be experienced with any other 2 classes event. First, what is the problem !
Let suppose that by pressing a button, you want to raise a custom event, then execute a method and then close the form
In that case, you may use a code similar to this
Event BeepIt()
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
RaiseEvent BeepIt()
[CODE]...
View 14 Replies
Jun 8, 2012
Referencing an object (class) within a thread fails
I have an object ("a vb class") that needs to run on a separate thread and communicate with the U/I.
Even using sample code, I cannot get the object to run within a thread. I demonstrate this problem with two examples. The first calls a function within the form and it works perfectly. The second creates an object and performs the same calls, but fails.
example #1 [working] (Called within a form)
Private Delegate Sub FuctionToBeRunInThreadDelegate
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) Handles Button1.Click
[Code]....
SUMMARY: When the thread creates the object, it appears that the object is not actually running inside of a thread or else form.InvokeRequired would be true. I have other more complex examples where this is strongly verified and evidenced, but I provided these two as a very simple demonstration of my problem.How can I have a thread "own" a series of individual objects so that the objects are run asynchronously and can independently report back to the U/I?
View 1 Replies
Oct 21, 2009
So I've made this control that inherits from the treeview control and basically loads objects from active directory into a treeview (url...).All working fine, but as this is the first custom control I have made that I have intended for other people to use, I'm not quite sure how I should approach error handling.I mean, obviously I shouldnt do something like show any exceptions in a messagebox because that might not be what the person that is using the control wants to happen. So do I just write out exception messages to the debug window? Do I swallow exceptions (guessing not)? Do I just totally ignore them so that they are thrown in the user's project?
View 4 Replies
Jan 16, 2012
I am trying to save a new object to the database using petapoco.I have an object that uses a Guid for the primary key.Here is an example of the objects primary key property.
<PetaPoco.Column()> _
Public ReadOnly Property Primkey() As Guid Implements IStandardDocument.Primkey
Get
[code]....
Here is an example of the save method.
database.Save("Reservations", "Primkey", reservation)
The sql that is generated is an update with a primkey of 00000000-0000-0000-0000-000000000000 instead of an insert. So new records are never inserted.If I have an existing object with a valid guid the update and delete all work correctly.
View 3 Replies
Sep 17, 2009
I've been using XML serialization for a while, and today I realized something really odd. If I have a new line right after a "dot" (.), when i deserialize, I lose the dot. Has anyone ever had this happen to them? The following is my serialization code:
[Code]...
View 2 Replies
Aug 12, 2011
I'm having problem regarding session items. Before I use them, I want to check if they exists, but using this codes gives me error:[code]I think Session("SomeSessionItem") tries to acquire the value of the session item. If the item doesn't exists then it throws exception. But how do I check if a session item exists before using them? I have a page Home.aspx.In the Home.aspx.vb, I instantiate a WebUserControl SomeControl.ascx. Note that in Home.aspx.vb event handler Page_Load I can use a condition to check session without getting an exception.Inside SomeControl.ascx.vb I'm trying to access the session, here's where the exception occurs.
View 5 Replies
Sep 21, 2011
I'm completely confused about the event handling. I read some articles about it but after it I just get confused to write and use them in my classes.This is my class i. e.:
[Code]..
I dont have any argument passing. But I want to know how should I do it too. And I wanted to know if each instance of the Test class, run this event separately I mean each instance by themselves, This event AnEvent() will occur? Cuz I have lots of instances from my class.
View 2 Replies
Aug 31, 2010
I am developing a COM dll library, and I have a little vb.net (vs 2005) application just to test it.I had my object declared in the application as
Private m_VarName As MyLib.CMyComClass
So far, so good.But now, I need an event to inform the application of some things, so I implemented such event in the COM dll, and changed the declaration to
Private WithEvents m_VarName As MyLib.CMyComClass
So far, so good, again. But if I add a Sub to handle my event:
Private Sub m_VarName_OnCaptureStop() Handles m_VarName.MyEvent
..
End Sub
The first time I create the object, nothing bad happens, but if I reinstantiate it
If (Not m_VarName Is Nothing) Then ReleaseComObject(m_VarName)
m_VarName= New MyLib.CMyComClass
then I get a cryptic TargetInvocationException, seemingly related to reflection (which, AFAIK, I am not using).If I remove the "Handles m_VarName.MyEvent" part, everything seems to work. In case it matters, I am not firing any event, for now.
View 1 Replies