WM_INITDIALOG Problem

Alles was mit C/C++ unter NetBeans zu tun hat

Moderator: wegus

Antworten
znieh99
Beiträge: 40
Registriert: 28.03.2014, 17:12

WM_INITDIALOG Problem

Beitrag von znieh99 » 12.07.2019, 16:02

Hallo Forum,
ich versuche ein Beispielprogramm für eine TCP/IP Verbindung nachzuvollziehen und bekomme eine Fehlermeldung mit der ich nichts anfangen kann. Ich hoffe es kann mir wer helfen!

Fehlermeldung1:
In file included from /usr/include/w32api/windows.h:72:0,
from /usr/include/w32api/winsock2.h:23,
from main.cpp:14:
main.cpp: In function 'int WinMain(HINSTANCE, HINSTANCE, LPSTR, int)':
main.cpp:348:46: error: 'IDD_WSSERVER' was not declared in this scope
DialogBox(hInstance, MAKEINTRESOURCE(IDD_WSSERVER), NULL, WSServerProc);
^
main.cpp:348:46: note: suggested alternative: 'PARSE_SERVER'
main.cpp: In function 'BOOL WSServerProc(HWND, UINT, LPARAM, WPARAM)':

Verwende ich die Alternative PARSE_SERVER kommt diese Fehlermeldung2:
In file included from /usr/include/w32api/windows.h:72:0,
from /usr/include/w32api/winsock2.h:23,
from main.cpp:14:
main.cpp: In function 'int WinMain(HINSTANCE, HINSTANCE, LPSTR, int)':
main.cpp:348:9: error: invalid conversion from 'BOOL (*)(HWND, UINT, LPARAM, WPARAM) {aka int (*)(HWND__*, unsigned int, long long int, long long unsigned int)}' to 'DLGPROC {aka long long int (*)(HWND__*, unsigned int, long long unsigned int, long long int)}' [-fpermissive]
DialogBox(hInstance,
^
/usr/include/w32api/winuser.h:2341:29: note: initializing argument 4 of 'INT_PTR DialogBoxParamA(HINSTANCE, LPCSTR, HWND, DLGPROC, LPARAM)'
WINUSERAPI INT_PTR WINAPI DialogBoxParamA(HINSTANCE hInstance,LPCSTR lpTemplateName,HWND hWndParent,DLGPROC
^~~~~~~~~~~~~~~
lpDialogFunc,LPARAM dwInitParam);

Code:

Code: Alles auswählen

/*
 * Aufgabe: Dialogprozedure des Hauptdialogs
 * 
 * Parameter:       Standarddialogparameter
 * Rückgabewert:    nachrichtenabhängig
 */
BOOL WINAPI WSServerProc(HWND hDlg, UINT msg, LPARAM wP, WPARAM lP) {
    switch(msg) {
    ...
}

/*
 * Aufgabe: Programmstart
 * 
 * Parameter:       Standard
 * Rückgabewert:    0 
 */
int WINAPI WinMain(HINSTANCE hInstance,
        HINSTANCE hPrevInstance,
        LPSTR lpCmdLine,
        int nShowCmd) {
    
    WSADATA wsadata;
    
        // Version 1.1 der Winsock-DLL wird benötigt
    if(WSAStartup(MAKEWORD(1, 1), &wsadata) == 0) {
        DialogBox(hInstance, 
                MAKEINTRESOURCE([b]IDD_WSSERVER[/b]),	// oder  [b]PARSE_SERVER[/b]
                NULL, 
                WSServerProc);
        
        WSACleanup();                               //Winsock-DLL aufräumen
    }
    else MessageBox(0,
            "Fehler beim Initialisieren von WINSOCK",
            "WSSServer.EXE",
            0);
    
    return 0;
}

Antworten