Damp Skrevet 17. mai 2008 Skrevet 17. mai 2008 (endret) Jeg skal lage en knapp, her er da det jeg prøver på: private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) { string url = textBox1->Text, path = textBox2->Text; URLDownloadToFile(NULL, url.c_str(), path.c_str(), NULL, NULL); } Men jeg får da denne feilmeldingen "Error 1 error C2440: 'initializing' : cannot convert from 'System::String ^' to 'std::basic_string<_Elem,_Traits,_Ax>'" Mulig det er dumt det jeg spør om, men er forresten en nybegynner. Endret 17. mai 2008 av Mightal
Giddion Skrevet 17. mai 2008 Skrevet 17. mai 2008 Her er ingenting dumt så lenge du spør på en grei måte. Vel du prøver å bruker en c++ string i en .net funksjon og det liker ikke kompilatoren. Hvis jeg ikke husker helt feil så er det system.string som er .net sin version av std::string så det er den du må bruke.
Damp Skrevet 18. mai 2008 Forfatter Skrevet 18. mai 2008 Jeg fikset det, men nå ender jeg opp med en annen feil: Error 1 error C2228: left of '.c_str' must have class/struct/union
Giddion Skrevet 18. mai 2008 Skrevet 18. mai 2008 Jeg nok ikke system::string har en .c_str() funksjon så feil ligger nok i det.
OldMan Skrevet 18. mai 2008 Skrevet 18. mai 2008 Hjelp her. F.eks: char* url = System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(textBox1->Text).ToPointer(); char* path = System::Runtime::InteropServices::Marshal::StringToHGlobalAnsi(textBox2->Text).ToPointer(); URLDownloadToFile(NULL, url, path, NULL, NULL);
Damp Skrevet 20. mai 2008 Forfatter Skrevet 20. mai 2008 (endret) Takk for svar - Jeg har litt problemer med eksempelet OldMan, får en feilmelding når jeg bruker det: Error 1 error C2440: 'initializing' : cannot convert from 'void *' to 'char'Error 1 error C2440: 'initializing' : cannot convert from 'void *' to 'char' Endret 20. mai 2008 av Mightal
GeirGrusom Skrevet 20. mai 2008 Skrevet 20. mai 2008 i C++ må du caste fra void* Det er ikke nødvendig i C
OldMan Skrevet 20. mai 2008 Skrevet 20. mai 2008 Det kan også være en fordel å kalle: System::Runtime::InteropServices::Marshal::FreeHGlobal(IntPtr(url)); System::Runtime::InteropServices::Marshal::FreeHGlobal(IntPtr(path)); etter kallet til URLDownloadToFile. Dokumentasjonen rundt nødvendigheten av dette er litt uklar, men jeg pleier å gjøre det.
Damp Skrevet 20. mai 2008 Forfatter Skrevet 20. mai 2008 (endret) Takk for hjelpen, fikk det til! Edit: Hvordan kan jeg legge til en progress bar? Bruker "Visual C++ Express" btw. Endret 20. mai 2008 av Mightal
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå