Deserializzare un file

martedì 15 aprile 2008 - 11.01

forumQuarz Profilo | Junior Member

Salve, il mio problema è che non riesco a deserializzare un file serializzato da un'altra applicazione.
Mi spiego meglio meglio, ho fatto 2 applicazioni separate. La prima mi serializza un file, mentre la seconda mi dovrebbe deserializzare il file.
Ovvero con la stessa applicazione con cui serializzo, riesco anche a deserializzare, mentre se tendo di deserializzare con l'altra non ci riesco.
La struttura del file da serializzare e deserializzare è la stessa.
Vi prego. Non so cosa fare

Lanello Profilo | Senior Member

se ho ben capito hai due programmi da te sviluppati...

programma A

programma B

il programma A riesce sia a serializzare che a deserializzare... mentre il B non deserializza....

immagino che nel programma A tu abbia una funzione che fa la deserializzazione, se la copi nel programma B "esattamente" uguale alla A deve PER FORZA funzionare...

poi se magari o ti spieghi meglio, o fai qualche esempio con un po di codice che stai utilizzando... ti aiuteremo meglio.

ciao!

-----------------------------------------------------
La ricompensa per una cosa ben fatta, è averla fatta.

forumQuarz Profilo | Junior Member

Grazie per avermi risposto!!!!!

Allora il codice che scrivo nel programma A e B per:

SERIALIZZARE :

FileStream fileStream = null;
BinaryFormatter formatter = new BinaryFormatter();
fileStream = new FileStream({pathFile}, FileMode.Create, FileAccess.Write);
formatter.Serialize(fileStream, {myClass});


DESERIALIZZARE

FileStream fileStream = null;
fileStream = new FileStream({pathFile} , FileMode.Open, FileAccess.Read);
BinaryFormatter binaryformatter = new BinaryFormatter();
myClass = (MyClass )binaryformatter.Deserialize(fileStream);

CLASSE CHE SERIALIZZO:

[Serializable()]
class MyClass
{
public String value= null;
public String value2= null;
public String value3= null;
public ArrayList value4= null;
}

I 2 programmi nn stanno nella stessa solution. Sono 2 programmi separati.
So che è assurdo!!!!
Provare per credere.
Spero tanto di aver fatto qualche cretinata...

Il codice è in C# ma ve vuoi te lo posso tradurre in VB

Grazie

Lanello Profilo | Senior Member

no no, non serve che me lo traduca in vb.net, io uso più volentieri vb.net che c#, ma ho solide basi di programmazione c++

ho trovato un articolo molto completo sulla serializzazione degli oggetti personalizzati in vb.net, dagli uno sguardo, casomai se ancora non trovi una soluzione poi ne riparliamo

http://www.codeproject.com/KB/cpp/escSerializedCollection.aspx



-----------------------------------------------------
La ricompensa per una cosa ben fatta, è averla fatta.

forumQuarz Profilo | Junior Member

Grazie ma ho risolto il problema utilizzado i file xml.
Con la possibilità di creare file xml e poterli leggeggere riesco a far creare l'xml dal programma A e leggerlo col programma B.
Cosa che nn si riesce a fare con la serializzazione di un oggetto in un file.

Comunque grazie infinite per avermio risposto.
Darò subito un 'occhiata al link che mi hai consigliato.

Grazie ancora
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2025
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5