Programmpfad + Dateiname = Fehler?
-
Hi
Ich hab ein Dialog der eine Datei aus dem Internet downloaden soll (Siehe MFC FAQ, Datei aus dem INternet runterladen). Dort gibt es eine Variable namens strFileLocal = "c:\\Datei.exe";
Wenn ich nun aber die Datei im aktuellen Verzeichnis wie die Programmexe speichern will, gebe ich ja erst den aktuellen Pfad raus und hänge dann den zu speicherenden Namen an. Doch genau das funzt irgendwie nicht.
Das aktuelle Verzeichnis lasse ich mit der Variante 1 von Martin Richter im FAQ http://www.c-plusplus.net/forum/39131 auslesen und in strPath speichern.
Gebe ich nun in der Downloadfunktion unter dem strLocalFileName dann folgendes an:
CString strLocalFileName = strPath."filename.exe";
dann erhalte ich massenhafte Fehlermedlungen. Auch mit .= etc klappts nicht. Wenn ich es nur bei strPath belasse gehts, aber dann wird die Datei ja gar nicht gespeichert weil es keinen Namen hat.
Normal also so:
CString strLocalFileName = "c:\\update.exe";
funktionierts einwandfrei.
Wie kriege ich aber trotzdem den Verzeichnispfad vornedran? also anstatt c:\\ sollte der aktuelle Pfad des Programmes stehen.
Gruss
Wolf
-
Wie kommst Du darauf, dass man mit . einen String anhängt?
Richtig wäre:
CString strLocalFileName = strPath + "filename.exe";
-
Strings werden mit + bzw. += verbunden.
DasCString strLocalFileName = strPath."filename.exe";
sollte also so aussehen
CString strLocalFileName = strPath + "filename.exe";
-
Ja, genau das wars.
Da hab ich wohl was mit PHP verwechselt. War schon lange nicht mehr mit VC++ beschäftigt. Muss mich da erst wieder einarbeiten.PS: Kann jemand, bei Interesse, folgendes testen:
Das Programm starten, wenn neues Update verfügbar auf Ja klicken, DOwnload starten und dann sollte nach dem Download ne MSG Box kommen.. auf OK klicken.
Das Programm sollte beenden und das heruntergeladene Update starten.Bei mir funktionierts. Bei meinem Kollegen nicht. Bei einem anderen PC funktionierts wieder, bei meiner Freundin wiederum nicht. An was kann das liegen?
http://www.scvswitzerland.ch/files/scvsct_beta.exe
Gruss
WolfCH und Danke
-
Was funktioniert nicht?
Schon mal daran gedacht Remote-Debugging zu verwenden?
-
Remote-Debuggin?
-
WolfCH schrieb:
Remote-Debuggin?
Debugging
Ja!Damit kannst Du bei Deinen Kollegen debuggen ohne das dort die Entwicklungsumgebung drauf sein muss.
http://blog.m-ri.de/index.php/2008/11/22/howtoremote-debugging-fast-and-easy/
Hat sich bzgl. VS-2008 und 2010 kaum geändert.