Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Visual 2010expres... i kompilacja

Ostatnio zmodyfikowano 2012-04-07 19:37
Autor Wiadomość
aimo6
Temat założony przez niniejszego użytkownika
Visual 2010expres... i kompilacja
» 2012-04-07 17:35:52
Witam.
Ostatnio zainstalowałem sobie to środowisko. Mam pewien problem.
Pisząc programy tak jak się już przyzwyczaiłem nic nie chce mi się skompilować.
Mam np. taki kod:
C/C++
#include "aschet.hpp"






int etap = 1;
HWND hwnd, przy[ 10 ];



MSG Komunikat;

LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam );

int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )
{
   
    WNDCLASSEX wc;
   
    wc.cbSize = sizeof( WNDCLASSEX );
    wc.style = 0;
    wc.lpfnWndProc = WndProc;
    wc.cbClsExtra = 0;
    wc.cbWndExtra = 0;
    wc.hInstance = hInstance;
    wc.hIcon = LoadIcon( NULL, IDI_APPLICATION );
    wc.hCursor = LoadCursor( NULL, IDC_ARROW );
    wc.hbrBackground =( HBRUSH )( COLOR_WINDOW + 12 );
    wc.lpszMenuName = NULL;
    wc.lpszClassName = "NazwaKlasy";
    wc.hIconSm = LoadIcon( NULL, IDI_APPLICATION );
   
    if( !RegisterClassEx( & wc ) )
    {
        MessageBox( NULL, "Wysoka Komisja odmawia rejestracji tego okna!", "Niestety...",
        MB_ICONEXCLAMATION | MB_OK );
        return 1;
    }
   
   
    hwnd = CreateWindowEx( WS_EX_CLIENTEDGE, "NazwaKlasy", "Oto okienko", WS_OVERLAPPEDWINDOW,
    CW_USEDEFAULT, CW_USEDEFAULT, 1000, 700, NULL, NULL, hInstance, NULL );
   
    ikony
    ikony1
    ikony2
    ikony3
    ikony4
    ikony5
    ikony6
    ikony7
   
    if( SetTimer( hwnd, 1, 100, NULL ) == 0 )
         MessageBox( hwnd, "Nie można utworzyć timera!", "Kurde", MB_ICONSTOP );
   
    if( hwnd == NULL )
    {
        MessageBox( NULL, "Okno odmówiło przyjścia na świat!", "Ale kicha...", MB_ICONEXCLAMATION );
        return 1;
    }
   
    ShowWindow( hwnd, nCmdShow );
    UpdateWindow( hwnd );
   
    while( GetMessage( & Komunikat, NULL, 0, 0 ) )
    {
        TranslateMessage( & Komunikat );
        DispatchMessage( & Komunikat );
    }
    return Komunikat.wParam;
}


LRESULT CALLBACK WndProc( HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam )
{
    switch( etap )
    {
    case 1:
        switch( msg )
        {
           
        case WM_PAINT:
            PAINTSTRUCT ps;
            HDC hdcNowy, hdc;
            hdc = BeginPaint( hwnd, & ps );
            blit( hwnd, "C:\\Users\\Jolanta\\Desktop\\Dmnn\\projekty\\materiały\\tlo.bmp", 0, 0 );
            EndPaint( hwnd, & ps );
            break;
           
        case WM_COMMAND:
            switch( wParam )
            {
            case 2:
                etap = 2;
                ShowWindow( przy[ 0 ], SW_HIDE );
                ShowWindow( przy[ 1 ], SW_HIDE );
                ShowWindow( przy[ 2 ], SW_HIDE );
                ShowWindow( przy[ 3 ], SW_HIDE );
                ShowWindow( przy[ 4 ], SW_SHOW );
                ShowWindow( przy[ 5 ], SW_SHOW );
                ShowWindow( przy[ 6 ], SW_SHOW );
                ShowWindow( przy[ 7 ], SW_SHOW );
                blit( hwnd, "C:\\Users\\Jolanta\\Desktop\\Dmnn\\projekty\\materiały\\budynek.bmp", 0, 0 );
                //p_blit(hwnd,RGB(0,0,0),"C:\|Users\\Jolanta\\Desktop\\Dmnn\\projekty\\materiały\\sety\\głowa\\fryzura\\fryz1.1.bmp",400,0);
               
                break;
            case 3:
                //etap=3;
                break;
            case 4:
                //etap=4;
                break;
            case 5:
                PostQuitMessage( 0 );
            }
            break;
        case WM_CLOSE:
            DestroyWindow( hwnd );
            break;
           
        case WM_DESTROY:
            PostQuitMessage( 0 );
            break;
           
            default:
            return DefWindowProc( hwnd, msg, wParam, lParam );
        }
        break;
    case 2:
        switch( msg )
        {
           
           
        case WM_PAINT:
            PAINTSTRUCT ps;
            BeginPaint( hwnd, & ps );
            blit( hwnd, "C:\\Users\\Jolanta\\Desktop\\Dmnn\\projekty\\materiały\\budynek.bmp", 0, 0 );
           
           
            EndPaint( hwnd, & ps );
            break;
           
        case WM_COMMAND:
            switch( wParam )
            {
            case 4:
                break;
            case 5:
                break;
            case 6:
                break;
            case 7:
                etap = 1;
                ShowWindow( przy[ 0 ], SW_SHOW );
                ShowWindow( przy[ 1 ], SW_SHOW );
                ShowWindow( przy[ 2 ], SW_SHOW );
                ShowWindow( przy[ 3 ], SW_SHOW );
                ShowWindow( przy[ 4 ], SW_HIDE );
                ShowWindow( przy[ 5 ], SW_HIDE );
                ShowWindow( przy[ 6 ], SW_HIDE );
                ShowWindow( przy[ 7 ], SW_HIDE );
                blit( hwnd, "C:\\Users\\Jolanta\\Desktop\\Dmnn\\projekty\\materiały\\tlo1.bmp", 0, 0 );
                break;
            }
            break;
           
        case WM_CLOSE:
            DestroyWindow( hwnd );
            break;
           
        case WM_DESTROY:
            PostQuitMessage( 0 );
            break;
           
            default:
            return DefWindowProc( hwnd, msg, wParam, lParam );
           
        }
    }
   
    return 0;
}
i aschet
C/C++
#include <windows.h>

#ifndef ashet_hpp
#define ashet_hpp

#define ikony przy[0] = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "Nowa gra", WS_CHILD | WS_VISIBLE,300, 200, 100, 30, hwnd,(HMENU)2, hInstance, NULL ); //et 1
#define ikony1 przy[1] = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "Wczytaj", WS_CHILD | WS_VISIBLE,300, 250, 100, 30, hwnd,(HMENU)3, hInstance, NULL );
#define ikony2 przy[2] = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "Opcje", WS_CHILD | WS_VISIBLE,300, 300, 100, 30, hwnd, (HMENU)4, hInstance, NULL );
#define ikony3 przy[3] = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "Wyjście", WS_CHILD | WS_VISIBLE,300, 350, 100, 30, hwnd, (HMENU)5, hInstance, NULL );
//et 2
#define ikony4 przy[4] = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "losuj postać", WS_CHILD | WS_VISIBLE,600, 350, 90, 30, hwnd,(HMENU)5, hInstance, NULL );ShowWindow(przy[4],SW_HIDE);
#define ikony5 przy[5] = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "OK", WS_CHILD | WS_VISIBLE,600, 400, 50, 30, hwnd,(HMENU)6, hInstance, NULL );ShowWindow(przy[5],SW_HIDE);
#define ikony6 przy[6] = CreateWindowEx( WS_EX_CLIENTEDGE, "BUTTON", "wstecz", WS_CHILD | WS_VISIBLE,655, 400, 50, 30, hwnd,(HMENU)7, hInstance, NULL );ShowWindow(przy[6],SW_HIDE);
#define ikony7 przy[7] = CreateWindowEx( WS_EX_CLIENTEDGE, "EDIT", "", WS_CHILD | WS_VISIBLE,600, 300, 100, 20, hwnd,(HMENU)2, hInstance, NULL );ShowWindow(przy[7],SW_HIDE);





#endif
void blit( HWND hwnd, LPCTSTR scie, int lokx, int loky /*,DWORD dwRop*/ )
{
    HDC hdcNowy, hdc;
    hdc = GetDC( hwnd );
    hdcNowy = CreateCompatibleDC( hdc );
    HBITMAP hbmObraz, hbmOld;
    SelectObject( hdcNowy, hbmObraz );
    hbmObraz =( HBITMAP ) LoadImage( NULL, scie, IMAGE_BITMAP, 0, 0, LR_LOADFROMFILE );
    hbmOld =( HBITMAP ) SelectObject( hdcNowy, hbmObraz );
   
    BITMAP bmInfo;
    GetObject( hbmObraz, sizeof( bmInfo ), & bmInfo );
    BitBlt( hdc, lokx, loky, bmInfo.bmWidth, bmInfo.bmHeight, hdcNowy, 0, 0, SRCCOPY /* dwRop*/ );
   
    DeleteObject( hbmObraz );
    SelectObject( hdcNowy, hbmOld );
    DeleteDC( hdcNowy );
    ReleaseDC( hwnd, hdc );
   
    return;
}


class gracz
{
    public
    int pozx, pozy, mapx, mapy //pozycja nóg,       na mapie
    ;
   
   
};

Za nic nie chce się skompilować, chociaż pod devem wszystko spokojnie działało.
Jak można by go poprawić ?
P-54064
SeaMonster131
» 2012-04-07 18:15:03
Bylibyśmy bardzo wdzięczni, gdybyś podał błędy, które Ci się pojawiają..
P-54066
pekfos
» 2012-04-07 18:33:45
Po co w ogóle robisz te makra? Zamiast cokolwiek upraszczać, tylko zaciemniają kod.
P-54067
aimo6
Temat założony przez niniejszego użytkownika
» 2012-04-07 19:37:28
Błędy... nie do końca o to chodziło, ale może się przydadzą

1>------ Build started: Project: melavvi 0.5, Configuration: Debug Win32 ------
1>  main.cpp
1>c:\users\jolanta\desktop\dmnn\projekty\    \mellavi vis\melavvi 0.5\melavvi 0.5\main.cpp(1): fatal error C1083: Cannot open include file: 'aschet.hpp': No such file or directory
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Był bym wdzięczny gdyby ktoś wytłumaczył jak pisać w tym środowisku. Ponieważ normalnie robiąc coś ręcznie po prostu wychodzą błędy. Trochę się dziwnie tak czuje.


na szczęście udało mi się rozwiązać problem. visual nie jest jednak tak zbudowany jak mi się wydawało.
Mam jednak kolejny problem. podczas uruchamiania programu wyskakują dziwne komunikaty które trzeba pominąć aby program był kontynuowany:

Run-Time Check Failure #3 - The variable 'hbmObraz' is being used without being initialized.
wie ktoś co zrobić aby to ominąć?




Dobra kolejny raz udało mi się samemu rozwiązać problem. Następnym razem spróbuję posiedzieć trochę dłużej nad problemem zanim coś napiszę. No cóż, pozostaje mi podziękować za pomoc.
P-54073
« 1 »
  Strona 1 z 1