You24Me1 Novice
13. januar 2016 - 17:52 Der er 6 kommentarer og
1 løsning

Der er ikke adgang til en lukket stream eller cannot access a closed stream.

Hej folkens.Jeg følger et kursus på YouTube om Visual C++ og i forbindelse med Tutorial 20: Windows Form Application: Encrypt data from single String, får jeg fejlen "Der er ikke adgang til en lukket stream". Kan nogen fortælle mig hvad jeg gør galt - jeg synes jeg har fulgt vejledningen. Min kode ser ud som følger:

private: System::Void btEnCrypt_Click(System::Object^  sender, System::EventArgs^  e) {
    cipherData = tbEnCrypt->Text;
    plain2Byte = Encoding::ASCII->GetBytes(cipherData);

    plainKey = Encoding::ASCII->GetBytes("0123456789abcdef");

    desObj->Key = plainKey;
    // choose Mode
    desObj->Mode = CipherMode::CBC;
    // choose Padding
    desObj->Padding = PaddingMode::PKCS7;

    MemoryStream^ ms = gcnew MemoryStream();
    CryptoStream^ cs = gcnew CryptoStream(ms, desObj->CreateEncryptor(),CryptoStreamMode::Write);
   
    cipherByte = ms->ToArray();
    ms->Close();

    cs->Write(plain2Byte,0,plain2Byte->Length);
    MessageBox::Show("Before Close cs");
    cs->Close();

    MessageBox::Show("Passing decrypted data to Form");
    tbDeCrypt->Text = Encoding::ASCII->GetString(cipherByte);

}

- det sidste jeg ser inden throw exception er "Before Close cs".

Kan nogen hjælpe?
arne_v Ekspert
13. januar 2016 - 18:08 #1
ms->Close();

skal vel ned under

cs->Close();
You24Me1 Novice
13. januar 2016 - 19:01 #2
Præcist men jeg får stadig ingen krypteret tekst ud på min form men det må jeg så prøve at rode lidt med - variablen cipherByte er blank. Måske lidt tåbeligt at bruge tid på netop kryptering når jeg ikke forstår ret meget af hvad koden gør. Men jeg har haft stor glæde af omtalte Tutorials indtil nu, bl.a. lært en del MySQL som jeg bedre forstår :-)
You24Me1 Novice
13. januar 2016 - 19:12 #3
Vil du smide et svar så jeg kan tildele nogle points og få lukket tråden. Tak for hjælpen (igen igen) :-)
arne_v Ekspert
13. januar 2016 - 19:15 #4
Proev og flyt:

cipherByte = ms->ToArray();

ned under:

cs->Write(plain2Byte,0,plain2Byte->Length);
arne_v Ekspert
13. januar 2016 - 19:15 #5
og svar
arne_v Ekspert
13. januar 2016 - 19:15 #6
Hvorfor ioevrigt laere C++/CLR og ikke enten C# eller ren C++?
You24Me1 Novice
13. januar 2016 - 19:32 #7
Jeg har lært grundlæggende C++ (meget basis) og vil gerne lave noget præsentation og her synes jeg at Windows Forms er nyttig og let at gå til. Jeg ved godt at man (Windows) helt ser C# anvendt til Forms men nu har jeg lige lært grundlæggende C++ så jeg synes at det er for tidligt at gå "videre" med C# - det vil jeg helt sikkert lære på et senere tidspunkt. Jeg bruger VS 2015 som IDE og jeg tror ikke længere at Windows supporterer Forms til ren C++ (managed/unmanaged kode?)så derfor C++/CLR.
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

Opret Preview

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





Premium
Fremtiden har aldrig set mere usikker ud for Intel: Her er det, der kan redde – og dødsdømme chip-kæmpen
Computerviews: Intels nyslåede topchef Pat Gelsinger står overfor en stribe rigtig svære beslutninger. Hvis han ikke træder varsomt, vil chip-giganten sandsynligvis sygne hen.
Computerworld
Akut mangel på chip tvinger verdens største bil-producenter til at drosle ned for produktionen af biler
Flere af verdens største bil-producenter er tvunget til at drosle ned for produktionen på grund af mangel på chip, som de ikke kan få leveret.
CIO
Podcast: Hos Viking Life-Saving Equipment er it gået fra at være backend til at være noget, som kunderne spørger aktivt efter
Podcast, The Digital Edge: Viking leverer en stadig større del af deres produkt som en tjeneste. Som en del af tjenesten tager Viking ansvar for sikkerheden ved at levere, dokumentere og vedligeholde det nødvendige sikkerhedsudstyr. Hør hvordan Henrik Balslev senior digital director hos Viking har løftet den opgave.
Job & Karriere
Microsoft i kæmpe dansk satsning - åbner tre store datacentre i Danmark
Microsoft lancerer kæmpe satsning fra hovedkvarteret i Lyngby. Selskabet åbner tre store bæredygtige datacentre på Sjælland.
White paper
Kunsten at navigere i en tilpasningsøkonomi
Evnen til at tilpasse sig en verden i konstant forandring bliver afgørende for virksomhedens mulighed for at vækste i fremtiden. Ét af de finansielle håndtag du kan skrue på, er en hel eller delvis outsourcing af it-driften. I e-bogen ”Kunsten at navigere i en tilpasningsøkonomi” får du viden om, hvordan din virksomhed kan bruge tilpasningsøkonomi til at håndtere fremtidens krav til it. Vi spørger blandt andet: - Kan din virksomhed skalere og tilpasse sin digitale kapacitet og økonomi? - Har dine kunder tillid til, at du har de skarpeste it-løsninger? - Ville I kunne styrke forretningen ved at give jeres it mere fokus? - Kan I få øget funktionalitet til samme pris? Vi fokuserer på risiko, økonomi, fokus og valg af it-partner, som er fire opmærksomhedspunkter du skal have styr på for at lykkes med at tilpasse virksomheden til at modstå forandringerne i verden.