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 ohne

    ProcessShellCommand(cmdInfo);
    

    läuft ja auch die SDI anwendung nicht


  • Mod

    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ählt

    wie 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.


Anmelden zum Antworten