CCommandLineInfo löschen
-
hallo ich habe eine SDI anwendung an die ich ein command übergebe. ich kann es auch prima abfangen nur wenn ich dann dieses command löschen will motzt meine Anwendung.
"eine unbekannte Datei enthält eine ungültige Pfadangabe"
so geh ich vor
CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo); //Hier würd ich es gen abfanen und danach löschen MessageBox(0,cmdInfo.m_strFileName,0,0); cmdInfo.m_strFileName.Empty(); // hier passiert dann der Fehler und das Prog beendet sich if (!ProcessShellCommand(cmdInfo)) return FALSE;
-
lol frage vergessen
wie lösche ich jetzt das übergebene command??
den ohneProcessShellCommand(cmdInfo);läuft ja auch die SDI anwendung nicht
-
Mal anders gefragt: Was willst Du eigentlich löschen?
CCommandLineInfo ist eine Klasse, die Deine Befehlszeile parst und für die Applikation bereitstellt.Was willst Du machen? Was stört Dich?
-
Ich würde mal vermuten, daß du auch noch den Member m_nShellCommand zurücksetzen mußt auf CCommandLineInfo::FileNew. ParseCommandLine hat festgestellt, daß in der Befehlszeile ein Dateiname steht, also hat es den Wert auf FileOpen gesetzt. Und das bewirkt, daß ProcessShellCommand einen Dateinamen erwartet.
-
ja wie gesagt das ich
cmdInfo.m_strFileName.Empty();nicht löschen kann und wenn ich so mache
mir meine anwendung etwas von
"eine unbekannte Datei enthält eine ungültige Pfadangabe"
erzähltwie gesagt ich will da ein paar eigene parameter übergeben.
-
danke CStoll FileNew wars

-
SDI schrieb:
wie gesagt ich will da ein paar eigene parameter übergeben.
Wenn du eigene Parameter übergeben und auswerten willst, kannst du nicht die vorgegebenen Funktionen dafür verwenden. Eventuell solltest du dir eine eigene Klasse von CCommandLineInfo ableiten und die ParseParam()-Methode so überschreiben, daß sie deine Parameter erkennt.