Resource.h und Grossreinemachen



  • Hallo! Ich habe heute mal ordentlich aufgeräumt in meinem Projekt und alle Controls einheitlich umbenannt, so dass ich nicht 5 Schemata benutze. Ich habe angefangen mit der Projekt.h Datei und alle Controls umbenannt, dann alles, was in der cpp zu finden war. Zum Schluss noch die rc-Datei und nun bin ich an der Resource.h angekommen und wundere mich über die netten Zahlen hinter den Control-defines: Was haben die zu bedeuten? Sind das Control-IDs oder Speicherreservierungen? Ich habe jetzt nämlich das Problem, dass ich beim Programmstart eine Exception bekomme, was mit meiner Aufräumaktion zusammenhängen muss. Diese Zahlen sind nicht mehr geschlossen, also 1001, 1002, 1003 sondern es fehlen IDs dazwischen, weil einige Controls rausgefallen sind. Was kann ich nun tun, damit mein Programm wieder läuft? Letzendlich steht doch alles nur in den genannten Dateien und es sollte laufen, wenn alles konsistent ist, oder?



  • 1. Ja, die Zahlen dahinter sind die Indentifikationsnummern
    2. Nein, sie müssen nicht 1, 2, 3, 4 usw sein, sie können auch 1, 3, 4 sein.
    3. Jede ID darf nur 1x vorkommen,... sonnst wäre das ganze ja sinlos.



  • Ich kam auf Speicheradressen, weil die erste in der Reihe 0x0010 lautet. Wo werden diese Zahlen denn gebraucht? Ich finde sie nur in der Resource.h und nirgendwo anders.



  • Die Assertion Meldung kommt übrigens bei

    int nResponse = dlg.DoModal();

    in der InitInstance Funktion. Im Debugger zeigen alle Controls dort auf 0x0000000... hmmm normal oder schon ein Zeichen, wo der Wurm ist?



  • Das ist mal goil 😉 Überleg mal 😃



  • Wenn Du weisst wo der Fehler liegt, sag es doch bitte bitte 🙂 Mir läuft die Zeit davon...



  • ...



  • Zum Schluss noch die rc-Datei und nun bin ich an der Resource.h angekommen

    Wenn Du also in der rc-Datei Labels umbenannt hast, dann must Du dies auch in resource.h machen. Die Zahlen lässt Du bitte gleichbleibend. Das System hat da so seine Bereiche.

    // Nächste Standardwerte für neue Objekte
    // 
    #ifdef APSTUDIO_INVOKED
    #ifndef APSTUDIO_READONLY_SYMBOLS
    
    #define _APS_NEXT_RESOURCE_VALUE        129
    #define _APS_NEXT_CONTROL_VALUE         1000
    #define _APS_NEXT_SYMED_VALUE
    #define _APS_NEXT_COMMAND_VALUE		32771          101
    #endif
    #endif
    


  • Ah, gefunden... ein EditFeld war zwar deklariert, aber wurde nicht an einen Speicherbereich gebunden... das war zum Glück ein "einfacher" Fehler, hatte schon Angst, es sei was grösseres 🙂


Anmelden zum Antworten