Avatar billede webcreator Nybegynder
11. februar 2005 - 18:42 Der er 11 kommentarer og
2 løsninger

Hvorfor skal jeg DeSerialisere 2 gange?

Hej Eksperter.

Jeg har en MainForm og en UnderForm i mit program. På begge forme ønsker jeg at kunne tilgå en instans af en klasse. Dette virker tilsyneladende også ganske fint. Her kan ses, hvordan jeg vha. konstruktøren på UnderFormen overfører referencen til objektet på MainFormen : http://www.powerzone.dk/kode.txt

På min SubForm kan jeg ændre de data der ligger i det overførte objekt. Når formen lukkes, serialiseres mine data. Når jeg så næste gang starter mit program op, og DeSerialiserer mine data (jeg skal kunne læse dem fra min MainForm), virker dette også perfekt - men kun på MainFormen. På min SubForm er der ingen data at finde, før jeg også her foretager en DeSerialisering. Hvad søren kan der være galt?
Avatar billede webcreator Nybegynder
11. februar 2005 - 19:04 #1
Ingen bud? Jeg er helt på bar bund ;(
Avatar billede burningice Nybegynder
11. februar 2005 - 19:07 #2
problemet ligger vel i at når du lukker din mainform findes dit object ikke mere, dvs. at din underform står med en null reference. Og det hjælper ikke bare at åbne mainformen igen, din underform har stadigvæk kun en nullreference, indtil du sørger for at lukke og åbne denne form igen.
Avatar billede webcreator Nybegynder
11. februar 2005 - 19:11 #3
Hej Cyber.

Mange tak for dit respons :)
Min MainForm er altid åben, så længe min UnderForm er åben. Så er det mon dét der er problemet?
Avatar billede webcreator Nybegynder
11. februar 2005 - 19:14 #4
dit respons = din response
Avatar billede burningice Nybegynder
11. februar 2005 - 19:17 #5
nej, det er det nok ikke så :)

dog har jeg lidt svært ved at se problematikken. Anden gang du åbner dit program, så kan du ikke få en reference med over i din underform, eller hvordan ?
Avatar billede webcreator Nybegynder
11. februar 2005 - 19:24 #6
Jo, sagtens. 2. gang jeg starter programmet, bliver dataene serialiseret på MainForm'en. Når jeg så åbner min UnderForm (fra MainFormen), er der intet i mit overførte objekt. Laver jeg så en DeSerialisering på min UnderForm (som jeg jo allerede HAR lavet på MainFormen), så vises mine data. Men det virker skørt at man skal gøre det to gange.
Avatar billede webcreator Nybegynder
11. februar 2005 - 19:29 #7
Jeg skrev forkert ovenfor. Der skulle stå, at 2. gang jeg starter programmet, bliver dataene DE-Serialiseret.
Avatar billede webcreator Nybegynder
11. februar 2005 - 19:32 #8
HA! Hvis jeg skaber min reference og instans til UnderForm'en i en metode på MainFormen, frem for i MainForm'ens konstruktør, så virker det - Jubii!
Avatar billede webcreator Nybegynder
11. februar 2005 - 19:44 #9
Tak for hjælpen Cyber. Hvis du lige smider et svar, så deler vi i porten. Du skal have lidt for ulejligheden :)
Avatar billede webcreator Nybegynder
11. februar 2005 - 19:44 #10
.
Avatar billede burningice Nybegynder
11. februar 2005 - 19:47 #11
problemet kunne måske have været at du overførte referencen før at du havde deserieliseret dine data altså

opret reference -> overfør til underform -> deserialiser data
hvor at rækkefølgen skulle være
opret reference -> deserialiser data -> overfør til underform

bare et gæt
Avatar billede burningice Nybegynder
11. februar 2005 - 19:47 #12
svar
Avatar billede webcreator Nybegynder
11. februar 2005 - 20:04 #13
Jamen så er det helt afgjort dér, problemet lå :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester