1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Problem mit C++

Discussion in 'Programmieren' started by sherlock, Mar 16, 2007.

Thread Status:
Not open for further replies.
  1. sherlock

    sherlock Byte

    Hallo Zusammen,

    ich habe ein Problem beim Programmieren mit C++ und Genesis3d, ich habe diese beiden programme zugelegt, allerdings wenn ich auf Anwendung->Weitere->Konsolen Experte gehe und dann folgenden Text eingebe: (um ein Windows Fenster zu öffnen)

    (Hier steht dann immer noch das was automatisch kommt)

    WNDCLASS Win;
    MSG msg;
    Win.cbClsExtra = 0;
    Win.cbWndExtra = 0;
    Win.hIcon = LoadIcon(hInstance, IDI_APPLICATION);
    Win.hCursor = LoadCursor(NULL, IDC_ARROW);
    Win.hbrBackground =
    (HBRUSH)GetStockObject(BLACK_BRUSH);
    Win.style = CS_HREDRAW | CS_VREDRAW;
    Win.hInstance = hInstance;
    Win.lpfnWndProc = WndProc;
    Win.lpszClassName = "???";
    Win.lpszMenuName = NULL;
    RegisterClass (&Win);
    GHandle = CreateWindow (Win.lpszClassName,
    "Windows Minimum - [Esc]=Ende", WS_TILED,
    CW_USEDEFAULT, CW_USEDEFAULT, MaxWidth,
    MaxHeight, NULL, NULL, hInstance, NULL);
    if (!GHandle) { return 0; }
    ShowWindow (GHandle, nCmdShow);
    UpdateWindow (GHandle);
    isRunning = true;
    while (isRunning)
    {
    while (PeekMessage (&msg, NULL, 0, 0, PM_NOREMOVE))

    {
    if (GetMessage(&msg, NULL, 0, 0))
    { isRunning = false; break; }
    TranslateMessage (&msg);
    DispatchMessage (&msg);
    }
    }
    return 1;


    So und jetzt habe ich das problem, dass die wörter: ,,WndProc, GHandle, MaxWidth, MaxHeight und isRunning" nicht erkannt werden, was soll ich tun? Bzw. wie kann ich diese wörter einbinden, also sodass sie der c++ builder auch erkennt?
     
  2. Hallo,

    ohne dir was zu wollen, aber du hast ganz offensichtlich überhaupt keine Ahnung von C bzw. C++.
    Jedwede Variable muss deklariert werden!
    Also z.B. statt
    Code:
    isRunning = true;
    Code:
    bool isRunning = true;
    oder
    Code:
    HWND GHandle;
    Aber auch dann wird es nichts, denn in
    Code:
    Win.lpfnWndProc = WndProc;
    zeigt (Pointer!) WndProc auf eine selber zu definierende "WindowsProcedure" und die fehlt zumindest in dem zu sehenden Sourcecode.
     
  3. sherlock

    sherlock Byte

    Danke auch-....na ja du hast nicht ganz unrecht, aber ich mache das auch nur zum spaß, habe also fast keine ahnung und mache das nach einem buch...:nospam:
     
  4. RealC++

    RealC++ Kbyte

    Was du willst, ist ein leeres Fenster unter Windows erzeugen, oder?-Ich habe dir im Anhang ein "einfaches" Beispiel angefügt.

    Zum Beispiel:
    Das ist ein Projekt für Visual C++ 2005 Express Edition.
    Damit es funktioniert mit dem Compilieren, benötigst du erst das Platform SDK und die IDE(Visual C++ 2005) selbst.
    http://msdn.microsoft.com/vstudio/express/visualc/usingpsdk/ /*Lies die Anweisungsschritte und befolge sie. Herunterladen und durch den Assistenten installieren lassen reicht nicht.*/
    http://msdn.microsoft.com/vstudio/express/visualc/default.aspx

    P.S.: Wenn du eine andere IDE verwendest sag Bescheid.-Das kriegen wir schon hin!

    Das alles soll aber auf keinen Fall heissen, dass du dich nicht übernommen hast. Mindestens mal kompilieren liegt aber drin finde ich, bevor du dich dann (hoffentlich) angemessenen Sachen wie der Konsolenprogrammierung zuwendest.
     

    Attached Files:

  5. RealC++

    RealC++ Kbyte

    Sorry!, hab's erst jetzt bemerkt, du versuchst irgendwas mit Genesis3D.-Da sag ich nur: Definitiv Finger weg, das ist nunmal nicht dein Niveau(3D, Grafik usw).

    Kauf dir ein gutes Buch und lerne C++(Markt+Technik hat gute)! Über die Konsole zu den Windowsanwendungen und OpenGL, das ist der Weg, mein Herr.-Da gibt es keine "vernünftige" Abkürzungen.

    Versuche trotzdem das Projekt im Anhang zu compilieren.-Dann hast du nämlich bereits eine funktionstüchtige IDE, der du treu bleiben kannst von der Konsole bis zu OpenGL und der Windowsprogrammierung.
    Vergiss Genesis3D und arbeite dich in VC++ ein.
     
  6. sherlock

    sherlock Byte

    das versuche ih gerade ich besitze schon einige bücher...ich probiere ja nur ein wenig erstmal herum...
     
Thread Status:
Not open for further replies.

Share This Page