Woher kommen Konstanten wie IDS_FILE_CREATE_ERROR_MESSAGE ?



  • In dem Beispielprojekt
    http://www.codeproject.com/bitmap/drawing2bitmap.asp

    werden Konstanten wie
    - IDS_FILE_CREATE_ERROR_MESSAGE
    - IDS_WINDOWS_BITMAP_FILES

    benutzt. Wie erstellt man diese in einem neuen Projekt? Definiert sind diese in dem Beispielproject in Resource.h

    Hier ein Auszug aus dem Code den ich meine

    void CDrawing2BitmapDlg::OnSave() 
    {
    	CString szFilter;
    	szFilter.LoadString(IDS_WINDOWS_BITMAP_FILES);
    	//Display the "Save As" dialog for the user to specify a path name
    	CFileDialog dlg(FALSE, DEFAULT_BITMAP_FILE_EXTENSION, DEFAULT_BITMAP_FILE_NAME, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, szFilter, NULL);
    	if(dlg.DoModal() == IDOK)
    	{
    		CString szPathName = dlg.GetPathName();
    		//Create a new file for writing
    		FILE *pFile = fopen(szPathName, "wb");
    		if(pFile == NULL)
    		{
    			AfxMessageBox(IDS_FILE_CREATE_ERROR_MESSAGE);
    			return;
    		}
    

    Der Quellcode erscheint mir logisch und korrekt, nur kompiliert er nach einem kopieren in ein neues Projekt offensichtlich nicht, weil die Konstanten fehlen. Ich w├╝sste jetzt gerne wie ich den Code wieder zum kompilieren bringe.

    Matthias



  • Das alte Leid ­čśë

    Geht mir oft auch so. Zumindest der MSVC 6.0 hat da so seine Probleme damit, die Abh├Ąngigkeiten bei einer ge├Ąnderten resource.h korrekt zu erkennen. Diese wird normalerweise in der Applikationsheader eingebunden. Nun ist es aber durchaus m├Âglich, dass ├änderungen (besonders von Hand) in der resource.h zwar innerhalb der Resourcen selbst richtig gehandhabt werden, diverse CPP-Code Dateien u.U. aber nicht neu compilliert werden.

    Sollte das Dein Problem sein, versuche einen "Rebuild All", dann sollte das gehen.

    Gruss, Gio


  • Mod

    Projekt├╝bergrefiden sollte man die Verwendung von gemeinsamen Ressourcen vermeiden. Geht das nicht, kann man eine gemeinsame rc Datei erzeugen, die einen eigenen Nummernbereich von IDs verwendet.



  • Danke f├╝r die Antworten - aber ich verstehe davon gar nichts. Zum einen will ich nicht eine Resource ├╝bergreifend verwenden. Also was in der alten Resource.h und in der neuen Resource.h steht ist mir vollkommen egal, solange mein neues Projekt kompiliert.

    Ein Rebuild All funktioniert ├╝brigens nicht.

    Um zum Kern der Frage zur├╝ckzukommen: wie und wo erzeugt/definiert man Sachen wie IDS_WINDOWS_BITMAP_FILES ?

    Matthias



  • pospiech schrieb:

    Um zum Kern der Frage zur├╝ckzukommen: wie und wo erzeugt/definiert man Sachen wie IDS_WINDOWS_BITMAP_FILES ?

    Da das offenbar Stringressourcen sind, leg sie doch einfach in der Stringtabelle an.



  • MFK schrieb:

    pospiech schrieb:

    Um zum Kern der Frage zur├╝ckzukommen: wie und wo erzeugt/definiert man Sachen wie IDS_WINDOWS_BITMAP_FILES ?

    Da das offenbar Stringressourcen sind, leg sie doch einfach in der Stringtabelle an.

    Danke, Stringtabellen waren mir bislang noch unbekannt.

    Matthias


Log in to reply