Gå til innhold

Hjelp med Visual C++ form application


Anbefalte innlegg

Skrevet (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 av Mightal
Videoannonse
Annonse
Skrevet

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.

Skrevet

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
Skrevet

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);

Skrevet (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 av Mightal
Skrevet

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.

Skrevet (endret)

Takk for hjelpen, fikk det til! :wee:

 

Edit: Hvordan kan jeg legge til en progress bar? Bruker "Visual C++ Express" btw.

Endret av Mightal

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...