(MFC mit dem...) Gültigkeitsbereich oder was?



  • Hi leute!
    Guten morgen erstmal.. *g*

    also folgendes:

    ifstream Q; //die sind beide global
     ofstream Z;
    

    wenn ich jetzt innerhalb meines Programmes

    Q.
    

    eintippe zeigt mir VC++ nett wie es ist, die methoden und eigenschaften von Q bzw Z. doch innerhalb dieser funktion:

    bool initDat()
    { 
     TCHAR pathB[255];
     string fpath;
     UINT sel;
     sel=SendMessage(lstv_Dateien,LB_GETCURSEL,NULL,NULL);
     if(sel!=LB_ERR) 
     { 
      SendMessage(lstv_Dateien,LB_GETTEXT,(WPARAM)sel,(LPARAM)pathB);
      fpath=pathB;
     }
     Q.open(fpath.c_str());
     if(Q);
     {
      MessageBox(NULL,"datei geöffnet","",0);
     }
     // <-------------ungefähr hier!
     for(int i=fpath.length();i>0;i--)
     {
         if(fpath[i]=='\\') 
         {
             fpath.insert(i+1,"OLD");
             break;
         }
     }
     Q.close();
     return true;
    }
    

    erhalte ich bei Z keinerlei ergänzungen mehr..des verunsichert mich dann doch etwas, zumal ich noch nicht alles was ich benutzen möchte beim genauen namen kenne. Ich wusste nich ob ich das hier ins API oder ins C++ forum posten soll aber ich denke, es ist kein API problem..

    wär also klasse wenn einer einen Tip hätte!

    thx&&cya



  • . Ich wusste nich ob ich das hier ins API oder ins C++ forum posten soll aber ich denke, es ist kein API problem..

    Das ist weder ein API noch ein C++ Problem. Das ist schlicht und einfach ein IntelliSense(tm) Problem. Und gehört damit nach "MFC mit dem VC".

    Nur noch so als freundlicher Hinweis:

    if(Q);
     {
      MessageBox(NULL,"datei geöffnet","",0);
     }
    

    Bist du sicher, dass du das meinst? Durch das Semikolon nach dem if gehört der darauffolgende Block *nicht* zur Bedingung. Er wird also *immer* ausgeführt.
    Ich denke du meinst eher:

    if(Q)
     {
      MessageBox(NULL,"datei geöffnet","",0);
     }
    

Anmelden zum Antworten