Fehler nach Umstieg von 5.0 auf 6.0 bei MFC



  • Hallo.

    Ich habe mir eine Funktion geschrieben, die es mir ermöglicht eine mp3 anhand ihres Pfades bei Winamp in der Playlist hinten anzufügen. Heute bin ich aber auf die Version 6 des Visual C++ umgestiegen und habe das Prog eben neu geschrieben bwz. kopiert.

    Leider habe ich das Problem dass meine Funktion fürs Anhängen an die Playlist nicht mehr funktz. Der Compiliert & Linkt das alles korrekt aber wenn ich das ausfdürhre dann stürzt der mir einfach ab 😞
    woran könnte das liegen??
    (Meckert bitte wenn an meinem Code was falsch ist, ich mach MFC noch nicht lange)

    void CMFCMP3HeaderDlg::OnEnqueue() 
    {
    UpdateData(true);
    GetDlgItem(IDC_Directory)->GetWindowText(Directory);
    CString Path_to_Winamp;
    GetDlgItem(IDC_Path_to_Winamp)->GetWindowText(Path_to_Winamp);
    
    if(fopen(Directory,"r") != NULL) // Hier will ich schauen ob ich die File öffnen kann um zu wissen ob sie existiert.
    {
    Directory.Format("%s%s%s%s","/ADD ", "\"", Directory, "\""); // hier wird der befehl zusammengepuzzeld den ich gegen die winamp.exe ansteuer um den enqueue (anhängen an playlist) zu machen. 
    ShellExecute(NULL, "open", Path_to_Winamp, Directory, NULL, SW_SHOWNORMAL); //hier wird der befehl ausgeführt
    Directory.Empty();
    }
    Directory.Empty();
    }
    

    [ Dieser Beitrag wurde am 06.06.2003 um 22:29 Uhr von Peter Piksa editiert. ]



  • okay, ich habe das Problem von alleine gelöst bekommen.
    Ich musste mir eine Temp-variable machen. ich versteh zwar nicht wieso aber mit diesem code hier klappt es: 🙂

    CString Path_to_Winamp;
    CString Tempstring;
    void CMp3ActorDlg::OnEnqueue() 
    {
        UpdateData(true);
        GetDlgItem(IDC_Directory)->GetWindowText(Tempstring);
        GetDlgItem(IDC_Path_to_Winamp)->GetWindowText(Path_to_Winamp);
    
        if(fopen(Tempstring,"r") != NULL)
        {
            Directory.Format("%s%s%s%s","/ADD ", "\"", Tempstring, "\"");
            ShellExecute(NULL, "open", Path_to_Winamp, Directory, NULL, SW_SHOWNORMAL);
            Tempstring.Empty();
            Directory.Empty();
        }
        Directory.Empty();
        Tempstring.Empty();
    }
    


  • Da das alles Strings sind könnte es auch einfach so aussehen:

    ShellExecute(NULL, "open", Path_to_Winamp, "/ADD \""+Directory+"\"", NULL, SW_SHOWNORMAL);
    


  • Hey Danke, dEUs!
    Darauf wär ich nicht gekommen! :)) juhuu *g*



  • 🙂
    Vom wem ist der Text in deiner Signatur? Der kommt ir bekannt vor.



  • Auf dem Album "Samy Deluxe - Das Album" gibtz einen Song "Session" mit Samy, Dendemann, Nico Suave und Ille. Da kommt das her. 🙂 http://www.lyriks.de/lyriks/display.php?id=58fc0cf6271796278c53290cf7d77574



  • Ah stimmt 🙂


Anmelden zum Antworten