CDokument::OnOpenDocument() Fehler



  • Hallo,

    ich will ein Dokument öffnen, was auf einem Server liegt.
    Den Pfad dahin hole ich mir aus einem Registry-Eintrag.

    Ich habe also:

    // in str(CString) steht der aus der Registry ausgelesene Pfad
    // schon mit maskierten \ in etwa "\\\\s0001f006\\Team 3\\Daten\\Data.dat"
    OnOpenDocument(str);
    

    Da bekomme ich beim Öffnen immer eine Fehlermeldung "contains invalid path"
    Übergebe den Pfad-Parameter direkt klappt es wunderbar

    OnOpenDocument("\\\\s0001f006\\Team 3\\Daten\\Data.dat");
    

    Hat jemand vielleicht eine Ahnung woran dan liegt?



  • ich hab's jetzt nochmal direkt ohne Maskierung der \ versucht und da funzts.

    // globaldata hat den Wert "\\s0001f006\Team 3\Daten\Data.dat
    OpenDocument(globaldata);
    

    Warum muss ich die Backslashs mal über \\ maskieren und mal nicht?



  • Nur Im Quellcode \\ für \.
    Nach dem Komplieren gibt es nur noch \. (Genauso wie aus \t ein Tabulatorzeichen gemacht wird.)



  • Ja das ist klar, aber ich rufe 2 mal OpenDocument(LPCSTR pathname) mit einem CString als Parameter auf.

    pfad1 = "C:\\Programm Files\\DMC\\Daten.cdm"
    pfad2 = "\\S0001f001\Daten\Data.cfg"

    mache ich aus pfad1 = "C:\Programm Files\DMC\Daten.cdm" erhalte ich einen Fehler, dass der Pfad nicht gefunden wurde.
    mache ich aus pfad2 = "\\\S0001f001\\Daten\\Data.cfg" habe ich das gleiche Problem.

    Ich verstehe aber nicht, warum ich einmal mit \\ und einmal mit \ arbeite kann/muss.



  • Lasse dir den Pfad einfach mal via MessageBox ausgeben. Das dürfte dann alles erklären.


Anmelden zum Antworten