none
C++ , Kleine Hilfe wär nett . RRS feed

  • Frage

  • hallo liebe Community , 

     

    ich habe ein problem, mal wieder :D

     

    hier erstmal der code:

    // C++ für Spieleprogrammierer
    // Listing 1.1
    // Es wird ein Begrüßungstext ausgegeben
    //
    #include <iostream>
    
    using namespace std;
    
    // Hauptprogramm
    //
    int main ()
    {
    	cout << "Hier kommt die Konkurrenz!\n";
    	return 0;
    }
    


    der ist 1zu1 aus dem buch von Heiko Kalista .

     

    nur bekomme ich immer eine meldung , Das Projekt ist veraltet . dann klick ich nochmal . dann öffnet er mir die konsole kurz und es schließt sich wieder.

    was ist hier mein problem ? kann mir hier bitte jemand helfen ? 

    ach ja und der debugger sagt mir : "neu11.exe": "C:\Users\RicoYo#\Documents\Visual Studio 2010\Projects\neu11\Debug\neu11.exe" geladen, Symbole wurden geladen.

    "neu11.exe": "C:\Windows\SysWOW64\ntdll.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\mscoree.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\kernel32.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\KernelBase.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\msvcr100d.dll" geladen, Symbole wurden geladen.

    "neu11.exe": "C:\Windows\SysWOW64\msvcp100d.dll" geladen, Symbole wurden geladen.

    "neu11.exe": "C:\Windows\SysWOW64\advapi32.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\msvcrt.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\sechost.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\rpcrt4.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\sspicli.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\cryptbase.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\Microsoft.NET\Framework\v4.0.30319\mscoreei.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\shlwapi.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\gdi32.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\user32.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\lpk.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\usp10.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\imm32.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\msctf.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\nvinit.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Program Files (x86)\NVIDIA Corporation\coprocmanager\detoured.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Program Files (x86)\NVIDIA Corporation\coprocmanager\Nvd3d9wrap.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\setupapi.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\cfgmgr32.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\oleaut32.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\ole32.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\devobj.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Program Files (x86)\NVIDIA Corporation\coprocmanager\nvdxgiwrap.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\SysWOW64\msvcr100_clr0400.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\a774bd593b8420bae4a8cf1d46af3ba2\mscorlib.ni.dll" geladen, Cannot find or open the PDB file

    "neu11.exe" (Verwaltet (v4.0.30319)): "C:\Windows\Microsoft.Net\assembly\GAC_32\mscorlib\v4.0_4.0.0.0__b77a5c561934e089\mscorlib.dll" geladen

    "neu11.exe": "C:\Windows\Microsoft.NET\Framework\v4.0.30319\nlssorting.dll" geladen, Cannot find or open the PDB file

    "neu11.exe" (Verwaltet (v4.0.30319)): "C:\Users\RicoYo#\documents\visual studio 2010\Projects\neu11\Debug\neu11.exe" geladen, Symbole geladen.

    "neu11.exe": "C:\Windows\Microsoft.NET\Framework\v4.0.30319\clrjit.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\Microsoft.NET\Framework\v4.0.30319\diasymreader.dll" geladen, Cannot find or open the PDB file

    "neu11.exe": "C:\Windows\assembly\NativeImages_v4.0.30319_32\System\5286fe2d0167eb835a9f11025f1cb756\System.ni.dll" geladen, Cannot find or open the PDB file

    "neu11.exe" (Verwaltet (v4.0.30319)): "C:\Windows\Microsoft.Net\assembly\GAC_MSIL\System\v4.0_4.0.0.0__b77a5c561934e089\System.dll" geladen

    Der Thread 'Win32-Thread' (0x4f0) hat mit Code 0 (0x0) geendet.

    Der Thread 'Win32-Thread' (0x1e88) hat mit Code 0 (0x0) geendet.

    Der Thread 'Win32-Thread' (0x1488) hat mit Code 0 (0x0) geendet.

    Das Programm "[5692] neu11.exe: Verwaltet (v4.0.30319)" wurde mit Code 0 (0x0) beendet.

    Das Programm "[5692] neu11.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.

     

    hoffe auf hilfe.

    danke , Gruß RicoYo

    Samstag, 31. Dezember 2011 03:00

Antworten

  •     case WM_COMMAND:
            switch(wParam)
            {
            case 1:
            {
                wchar_t text[256];

                SendMessage(hwndEdit, WM_GETTEXT, 256, (LPARAM)text);
                MessageBox(hwnd, text, L"Edit -- Feld", MB_OK);

                return 0;
            }
            }

        case WM_DESTROY:
            PostQuitMessage(0);

    Wie man unschwer sieht fehlt im WM_COMMAND Block, der break. Dadurch landet man sofort im WM_DESTROY Block.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 5. Januar 2012 11:13
    Moderator
  • > Den momentanen Style finde ich echt mies ;)

    Du hast den "normalen Stil". Was Du meinst ist vermutlich der Common Control 6.0 Stil (seit XP).
    Da ich nicht weiß welchen Compiler Du hast, hier mal ein Basis Link:
    http://www.codeproject.com/KB/winsdk/xptheme.aspx

    Wenn Du VS-2005 oder später hast, sollte dies bei einem Unicode Projekt automatisch durch den Wizard erzeugt worden sein (siehe dazu Einträge in der stdafx.h)


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 5. Januar 2012 14:45
    Moderator
  • Das ist der "einfache Weg" und es gibt keinen anderen als solche Manifeste.

    Was heißt Dir fehlen die Kenntnisse?

    Lege ein Demo Projekt an. Öffne die stdafx.h Datei und schau Dir die letzten Zeilen an.
    Ichbin sicher, dass Du das als Anfänger auch hinbekommst.

    Es geht um folgende Zeilen:

    #ifdef _UNICODE
    #if defined _M_IX86
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_X64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #else
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #endif
    #endif
    

    Wenn Du Projket mit dem Wizard anlegst wird dieser Code automatisch erzeugt...


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Freitag, 6. Januar 2012 06:40
    Moderator

Alle Antworten

  • binde 

    #include <conio.h>
    
    ein und schreibe
    _getch(); //wartet bis der Benutzer eine Taste drückt
    
    vor die 
    return 0;
    
    anweisung. Konsolen schließen sich sonst wieder sofort. Alternative: setze einen Haltepunkt an die return anweisung (Auf den Grauenrand vor der Zeile klicken), das Funktioniert dann aber nur beim debuggen. Die "veraltete Prijekt"-Meldung kannst du ignorieren.


    Koopakiller - http://koopakiller.ko.ohost.de/
    Samstag, 31. Dezember 2011 11:42
  • ... oder die Anwendung einfach mit Strg+F5 starten...


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Sonntag, 1. Januar 2012 09:36
    Moderator
  • Hallo,

     

    ich habe das gleiche Problem.

    Meldung:

    [spoiler]

    "GUI 2.exe": "C:\Users\Kevin\Documents\Visual Studio 2010\Projects\GUI 2\Debug\GUI 2.exe" geladen, Symbole wurden geladen.
    "GUI 2.exe": "C:\Windows\SysWOW64\ntdll.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\kernel32.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\KernelBase.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\user32.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\gdi32.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\lpk.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\usp10.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\msvcrt.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\advapi32.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\sechost.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\rpcrt4.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\sspicli.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\cryptbase.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\msvcr100d.dll" geladen, Symbole wurden geladen.
    "GUI 2.exe": "C:\Windows\SysWOW64\imm32.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\msctf.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\uxtheme.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\dwmapi.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\ole32.dll" geladen, Cannot find or open the PDB file
    "GUI 2.exe": "C:\Windows\SysWOW64\oleaut32.dll" geladen, Cannot find or open the PDB file
    Das Programm "[3592] GUI 2.exe: Systemeigen" wurde mit Code 0 (0x0) beendet.
    [/spoiler]

    #include <windows.h>
    #include <stdio.h>
    #include <cstdio>
    
    HWND hwndButton;
    HWND hwndEdit;
    
    LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
    
    int WINAPI WinMain(HINSTANCE hI, HINSTANCE hPrI, PSTR szCmdLine, int iCmdShow)
    {
    	LPWSTR szName = L"Fensterklasse";
    	WNDCLASS wc;
    
    	wc.style			= CS_HREDRAW | CS_VREDRAW;
    	wc.lpfnWndProc		= WndProc;
    	wc.cbClsExtra		= 0;
    	wc.cbWndExtra		= 0;
    	wc.hInstance		= hI;
    	wc.hIcon			= LoadIcon (NULL,IDI_WINLOGO);
    	wc.hCursor			= LoadCursor (NULL, IDC_ARROW);
    	wc.hbrBackground	= (HBRUSH) GetStockObject(GRAY_BRUSH);
    	//wc.hbrBackground	= CreateSolidBrush(RGB(0,0,0));
    	wc.lpszMenuName		= NULL;
    	wc.lpszClassName	= szName;
    	RegisterClass(&wc);
    
    	HWND hwnd = CreateWindow(szName, L"<Graphical User Interface>", WS_SYSMENU | WS_SIZEBOX,
    						     0,0,300,200,NULL,NULL,hI,NULL);
    
    	ShowWindow(hwnd, iCmdShow);
    	UpdateWindow(hwnd);
    
    	MSG msg;
    	while(GetMessage(&msg,NULL,0,0))
    	{
    		TranslateMessage(&msg);
    		DispatchMessage(&msg);
    	}
    
    	return msg.wParam;
    }
    
    
    LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM lParam)
    {
    	HDC hdc;
    	PAINTSTRUCT ps;
    
    	switch(message)
    	{
    	case WM_PAINT:
    		hdc = BeginPaint(hwnd, &ps);
    			TextOut(hdc, 20, 20, L"Wert", 4);
    		EndPaint(hwnd, &ps);
    		return 0;
    	case WM_CREATE:
    		hwndButton = CreateWindow(L"button", L"Einlesen!", WS_VISIBLE | WS_CHILD | BS_PUSHBUTTON,
    								160, 20, 100, 18, hwnd, (HMENU)1, GetModuleHandle(0),0);
    
    		hwndEdit = CreateWindow(L"edit",L"", WS_VISIBLE | WS_CHILD, 
    								60,20,80,17,hwnd,0, GetModuleHandle(0),0);
    		return 0;
    	case WM_COMMAND:
    		switch(wParam)
    		{
    		case 1:
    		{
    			wchar_t text[256];
    
    			SendMessage(hwndEdit, WM_GETTEXT, 256, (LPARAM)text);
    			MessageBox(hwnd, text, L"Edit -- Feld", MB_OK);
    
    			return 0;
    		}
    		}
    
    	case WM_DESTROY:
    		PostQuitMessage(0);
    
    		return 0;
    		
    	}
    	
    	return DefWindowProc(hwnd, message, wParam, lParam);
    }
    
    

    Die GUI schließt sich allerdings NUR wenn man in das Edit Feld klickt.

     

    Über weitere Hilfen würde ich mich freuen! :)

     

    Liebe Grüße

    Infemo

    Donnerstag, 5. Januar 2012 10:54
  •     case WM_COMMAND:
            switch(wParam)
            {
            case 1:
            {
                wchar_t text[256];

                SendMessage(hwndEdit, WM_GETTEXT, 256, (LPARAM)text);
                MessageBox(hwnd, text, L"Edit -- Feld", MB_OK);

                return 0;
            }
            }

        case WM_DESTROY:
            PostQuitMessage(0);

    Wie man unschwer sieht fehlt im WM_COMMAND Block, der break. Dadurch landet man sofort im WM_DESTROY Block.


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 5. Januar 2012 11:13
    Moderator
  • Vielen Dank, funktioniert, habe ich übersehen, aber danke =)

     

    Donnerstag, 5. Januar 2012 14:10
  • Könnten Sie mir evtl noch sagen wie ich den Style meiner Controllfelder wie Button oder Edit feld änder, sodass sie aussehen wie die normalen Windows Button/Felder ?

    Den momentanen Style finde ich echt mies ;)

    Donnerstag, 5. Januar 2012 14:16
  • > Den momentanen Style finde ich echt mies ;)

    Du hast den "normalen Stil". Was Du meinst ist vermutlich der Common Control 6.0 Stil (seit XP).
    Da ich nicht weiß welchen Compiler Du hast, hier mal ein Basis Link:
    http://www.codeproject.com/KB/winsdk/xptheme.aspx

    Wenn Du VS-2005 oder später hast, sollte dies bei einem Unicode Projekt automatisch durch den Wizard erzeugt worden sein (siehe dazu Einträge in der stdafx.h)


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 5. Januar 2012 14:45
    Moderator
  • >Du hast den "normalen Stil". Was Du meinst ist vermutlich der Common Control 6.0 Stil (seit XP).

    Genau den Stil meine ich =)

     

    Ich benutze Visual C++ Ultimate 2010.

    Geht es damit einfacher als dieses Package runterzuladen?

    Vielen Dank für Ihre Antwort =)

    Donnerstag, 5. Januar 2012 15:20
  • Wenn Du mit dem Wizard ein Win32 Projekt anlegst schau mal in die letzten Zeilen der stdafx.h.

    Dort findet Du pragma manifest Einträge. Kopiere diese in Dein Projekt.
    Allerdings geht das nur, wenn Du ein Unicode Projekt hast!


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Donnerstag, 5. Januar 2012 20:43
    Moderator
  • Sorry, dafür fehlen mir die Kenntnisse...

     

    Gibts nicht einfach irgend einen Style von Window oder sowas mit welchem man das festlegen kann? =)

     

    Donnerstag, 5. Januar 2012 21:05
  • Das ist der "einfache Weg" und es gibt keinen anderen als solche Manifeste.

    Was heißt Dir fehlen die Kenntnisse?

    Lege ein Demo Projekt an. Öffne die stdafx.h Datei und schau Dir die letzten Zeilen an.
    Ichbin sicher, dass Du das als Anfänger auch hinbekommst.

    Es geht um folgende Zeilen:

    #ifdef _UNICODE
    #if defined _M_IX86
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #elif defined _M_X64
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #else
    #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
    #endif
    #endif
    

    Wenn Du Projket mit dem Wizard anlegst wird dieser Code automatisch erzeugt...


    Martin Richter -- MVP for VC++ [Germany] -- http://blog.m-ri.de
    Freitag, 6. Januar 2012 06:40
    Moderator
  •  

    // stdafx.h : Includedatei für Stand

     

    ardsystem-Includedateien
    // oder häufig verwendete projektspezifische Includedateien,
    // die nur in unregelmäßigen Abständen geändert werden.
    //

    #pragma once

    #include "targetver.h"

    #define WIN32_LEAN_AND_MEAN             // Selten verwendete Teile der Windows-Header nicht einbinden.
    // Windows-Headerdateien:
    #include <windows.h>

    // C RunTime-Headerdateien
    #include <stdlib.h>
    #include <malloc.h>
    #include <memory.h>
    #include <tchar.h>


    // TODO: Hier auf zusätzliche Header, die das Programm erfordert, verweisen.

    Also das steht in meiner stdafx.h...

    Ps: Es funktioniert. Wenn mein Programm um diese Programmzeilen ergänze :) Ist zwar immernoch gewöhnunhsbedürftig, aber ich glaube um dies zu ändern kann ich einfach etwas mit den Farben rumspielen ;)

    Vielen Dank für Ihre Hilfe!

    • Bearbeitet Infemo Freitag, 6. Januar 2012 07:18
    Freitag, 6. Januar 2012 06:47