Beispielcode läuft nicht...



  • #include <windows.h>
    
    char szKlassenName[] = "Hallo";
    
    LONG FAR PASCAL _export Auswertung (HWND  hFenster,  WORD wMeldung,   WORD wParam,  LONG lParam)
    {
      switch (wMeldung)
      {
        case WM_DESTROY:
          PostQuitMessage(0);
          break;
        default:
          return (DefWindowProc
          (hFenster,  wMeldung,  wParam,  lParam));
      }
      return NULL;
    }
    
    BOOL Initialisierung (HANDLE hInstanz)
    {
      WNDCLASS FensterKlasse;
      FensterKlasse.style = CS_HREDRAW | CS_VREDRAW;
      FensterKlasse.lpfnWndProc = Auswertung;
      FensterKlasse.cbClsExtra = 0;
      FensterKlasse.hInstance = hInstanz;
      FensterKlasse.hIcon = LoadIcon (NULL, IDI_APPLICATION);
      FensterKlasse.hbrBackground = GetStockObject (WHITE_BRUSH);
      FensterKlasse.lpszMenuName = NULL;
      FensterKlasse.lpszClassName = szKlassenName;
    
      return (RegisterClass (&FensterKlasse));
    }
    
    HWND NeuFenster (HANDLE hInstanz)
    {
      HWND hFenster;
      hFenster = CreateWindow(szKlassenName, szKlassenName, WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInstanz, NULL);
    
      return (hFenster);
    }
    
    int PASCAL WinMain (HANDLE hInstance, HANDLE hPrevInstance, LPSTR lpszCmdLine, int nCmdShow)
    {
      BOOL bKontrolle;
      HWND hFenster;
      MSG Meldung;
    
      if (!hPrevInstance)
      {
        bKontrolle = Initialisierung (hInstance);
        if (bKontrolle == FALSE)
          return 0;
      }
      else
        return 0;
    
      hFenster = NeuFenster (hInstance);
      if (!hFenster)
        return 0;
      ShowWindow (hFenster, nCmdShow);
    
      while (GetMessage (&Meldung, NULL, 0, 0))
      {
        TranslateMessage (&Meldung);
        DispatchMessage (&Meldung);
      }
    
      return (Meldung.wParam);
    }
    
    In function `LONG Auswertung(HWND__*, WORD, WORD, LONG)':
    16: warning: converting to non-pointer type `LONG' from NULL
    In function `BOOL Initialisierung(void*)':
    23: error: invalid conversion from `LONG (*)(HWND__*, WORD, WORD, LONG)' to `LRESULT (*)(HWND__*, UINT, WPARAM, LPARAM)'
    25: error: invalid conversion from `void*' to `HINSTANCE__*'
    27: error: invalid conversion from `void*' to `HBRUSH__*'
    In function `HWND__* NeuFenster(void*)':
    37: error: invalid conversion from `void*' to `HINSTANCE__*'
    37: error:   initializing argument 11 of `HWND__* CreateWindowExA(DWORD, const CHAR*, const CHAR*, DWORD, int, int, int, int, HWND__*, HMENU__*, HINSTANCE__*, void*)'
    

    Handelt sich um Beispilecode aus nem alten Buch, 2.Auflage... Warum läuft das nicht?



  • Altes Buch 2. Auflage kenn ich leider nicht.



  • (turbo) borland c++ 3.0 f. Win



  • Ich nehm zum Testen bcc32 5.5...



  • Vergiss den Code der ist wirklich uralt ... sieht alles stark nach 16-Bit aus, nimm den: http://winapi.net/index.php?inhalt=tipp1

    PS: Was ist das eigentlich für ne Angabe: "Beispilecode aus nem alten Buch, 2.Auflage" 😮 ...


Anmelden zum Antworten