Hejsan Precis före din Form class som du vill serialisera måste du använda Serializable attributet för att ange att den här klassen får lov att serialiseras Fast det är väl i C# man skriver så. i VS.NET skriver man typ <serializable()>innan class och det har jag gjort men det fungerar lik f-b inte. Alla klasser som inte ärver av Form klagar den inte alls på! Men den som ärver av Form hellllllll no!!! :) antar att du menar i vB.net Så det innebär att jag inte kan serialisera datan som ligger i variabler som ligger i en form? för trodde det kanske berodde på att jag hade gjort egna usercontrolls och lagt till. Och man kan inte bara skriva <serializable()> framför class och "allt fixar sig" damn Det går bra att markera ett formulär som serializable och spara ner dina variabler.. Hej igen Ja det är rätt ... Tackar så mycket för det då var mysteriet löst :) tror jag följer ditt råd att skapa en egen klass med värdena och serialiserar bara den.Kan man inte serialisera Form?
Har precis byggt upp en vacker (nåja) form med fält och knappar där jag sparar olika användar angivna data. Skulle vilja serialisera alla data men det verkar inte som det fungerar för får felmeddelandet att form inte är angiven som serialiserbar. Antar att det är för att Form som jag ju har ärvt av inte är serialiserbar och antar därmed att man inte kan serialisera någonting som ärver av Form? (system.Form eller vad hela arvs hierarkin nu är;)). Stämmer detta? måste jag tillverka en separat klass som sparar värden så att jag sedan kan serialisera den?
Tackar för hjälpen
/AndySv: Kan man inte serialisera Form?
<code>
[Serializable()]
public class frmScheduler {
</Code>Sv: Kan man inte serialisera Form?
Sv: Kan man inte serialisera Form?
Hur som haver; en form är inte bara det lilla du ser utav det; en form innehåller även t.ex. handles till en massa saker och liknande. pga. det måste själva form-klassen ha metoder för att serialiseras.Sv: Kan man inte serialisera Form?
Sv: Kan man inte serialisera Form?
Dock är det så som onkelborg säger att det blir svårt att återställa fönstret eftersom den har ett antal interna minnespekare i "unmanaged code". Dessa är rent av farligt att ta upp hipp som happ.
Om vi vänder på problematiken, vad är det du vill uppnå genom serializeringen?Sv: Kan man inte serialisera Form?
Jag skulle bara vilja spara ner den data som finns i mina Integer variabler. Egentligen ingenting som har med själva fönstret att göra utan bara spara ner innehållet med soap formattre till fil när stänger och sedan läsa in innehållet till variablerna igen från filen när jag öppnar applikationen nästa gång. Gjorde så i C# kod genom att bara markera klassen som [serializable] men i VB.NET så bara klagar den på att:
"Typen System.Windows.Forms.UserControl i sammansättningen System.Windows.Forms, Version=1.0.5000.0, Culture = neutral, PublicKeyToken=[massa siffror] har inte deklarerats som serializable"
även om jag angett <serializable()> innan public class Form1 inherits System.Windows.form osv någon påstod att det var för jag har lagt till egna usercontrols och det kanske är de som inte går att serialisera? Sv: Kan man inte serialisera Form?
Alla varaibeler på klassnivå (globala variabler) måste vara serialiserbara. Dvs har du ett fält av en usercontrol typ, så måste även den vara markerad serializable.
Om du vill att serialiseringsprocessen skall hoppa över ett fält (ex din usercontrol variabel) så kan du markera den med attributet <b>NonSerialized</b>.
En annan variant är att skapa en egen klass som innehåller de värde du vill spara undan och serialisera den istället för hela formuläret. Så hade nog jag gjort.Sv: Kan man inte serialisera Form?
Tackar för hjälpen alla