Warning Nu esti autentificat. Te rog autentifica-te sau inregistreaza-te pentru a avea acces la toate facilitatile forumului.
SkullBox  
Decembrie 01, 2008, 11:50:18 pm
Bine ai venit, Vizitator. Trebuie să te autentifici sau să îţi creezi un cont.
Ai pierdut sau nu ai primit emailul care conţine codul de activare al contului?

Autentifică-te cu numele de utilizator, parola şi precizează durata sesiunii.
Noutăţi: Gadgetinho - IT cu zambetul pe buze
 
 SkullBoxDirector webTutoriale  Pagina principală   Ajutor Caută Autentificare Creează un cont  
Pagini: [1]
  Imprimă  
Subiect: Borland C++ sub windows  (Citit de 620 ori)
0Utilizatori şi 1 Vizitatori
Challenge
*
Deconectat Deconectat

Mesaje: 94


Borland C++ sub windows, Aprile 18, 2008, 07:17:52 am

Mi-am cumparat si eu o carte de programare sub windows pentru C++ ... cartea mi se pare destul de buna, dar am o problema.Nu stiu ce compilator folosesc ei (cei care au scris cartea) pentru ca mie in Borland C++ 4.5 nu imi gaseste windows.h (header necesar) iar in Borland C++ 5.02 imi da exact eroarea asta: "Unresolved external '_main' referenced from ...\C++\BC5\LIB\COX32.obj"

Codul este acesta (care din cate am inteles trebuia sa imi faca o fereastra de windows simpla, fara butoane sau alte controale) :
Cod:
#include

LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM);
void FillAndRegisterClass(LPSTR, HINSTANCE);
HWND CreateApplication(LPSTR, HINSTANCE, int);

void FillAndRegisterClass(LPSTR szClassName, HINSTANCE hInstance)
{
WNDCLASSEX wndclass;

wndclass.cbSize = sizeof(wndclass);
wndclass.style = CS_HREDRAW | CS_VREDRAW;
wndclass.lpfnWndProc = WndProc;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0;
wndclass.hInstance = hInstance;
wndclass.hIcon = LoadIcon(NULL, IDI_APPLICATION);
wndclass.hCursor = LoadCursor(NULL, IDC_ARROW);
wndclass.hbrBackground = (HBRUSH)
GetStockObject(WHITE_BRUSH);
wndclass.lpszMenuName = NULL;
wndclass.lpszClassName = szClassName;
wndclass.hIconSm = LoadIcon(NULL, IDI_APPLICATION);

RegisterClassEx(&wndclass);
}

HWND CreateApplication(LPSTR szClassName, HINSTANCE hInstance, int nCmdLine)
{
HWND hwnd;
hwnd = CreateWindow (
szClassName,
"Fereastra",
WS_OVERLAPPEDWINDOW,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
CW_USEDEFAULT,
NULL,
NULL,
hInstance,
NULL) ;

ShowWindow (hwnd, nCmdLine);
UpdateWindow(hwnd);
return hwnd;
}

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR szCmdLine, int nCmdShow)
{
static char szClassName[] = "Fereastra";
MSG msg;

FillAndRegisterClass(szClassName, hInstance);
CreateApplication(szClassName, hInstance, nCmdShow);
while (GetMessage(&msg, NULL, 0, 0))
{
TranslateMessage(&msg);
DispatchMessage(&msg);
}
return msg.wParam;
}

LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
switch (iMsg)
{
case WM_CREATE :
return 0;

case WM_PAINT :
return 0;

case WM_CLOSE :
DestroyWindow(hwnd);
return 0;

case WM_DESTROY :
PostQuitMessage (0);
return 0;
}
}
(am postat si codul ca sa fiu sigur ca nu este de la el)

Ma poate ajuta cineva?
Memorat
vladiii
*
Deconectat Deconectat

Mesaje: 166



Borland C++ sub windows, Aprile 18, 2008, 11:24:18 am

Incearca Dev-C++ (http://www.bloodshed.net/devcpp.html). Cand deschizi proiectul, selecteaza ca limbaj C (sau c++, nu cred ca o sa conteze) si Windows Application.
M-am uitat peste codul acela si nu imi creeaza fereastra (imi apare numele executabilului in Processes). Asa ca adauga urmatoarea chestie. In loc de:
Cod:
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
    switch (iMsg)
    {
        case WM_CREATE :
            return 0;

        case WM_PAINT :
            return 0;

        case WM_CLOSE :
            DestroyWindow(hwnd);
            return 0;

        case WM_DESTROY :
            PostQuitMessage (0);
            return 0;
    }
}
Pune:
Cod:
LRESULT CALLBACK WndProc(HWND hwnd, UINT iMsg, WPARAM wParam, LPARAM lParam)
{
    switch (iMsg)
    {
        case WM_CREATE :
            return 0;

        case WM_PAINT :
            return 0;

        case WM_CLOSE :
            DestroyWindow(hwnd);
            return 0;

        case WM_DESTROY :
            PostQuitMessage (0);
            return 0;
        default: return DefWindowProc (hwnd,iMsg,wParam,lParam);
    }
    return 0;
}
Bafta !
Memorat

Challenge
*
Deconectat Deconectat

Mesaje: 94


Borland C++ sub windows, Aprile 18, 2008, 04:33:27 pm

Si as mai avea o intrebare... Dev-cpp e acealsi lucru cu MinGW? Sau Dev-cpp e un IDE pentru MinGW?
Memorat
AnaKonD
Global Moderator
*
Deconectat Deconectat

Gen: Bărbat
Mesaje: 417


Borland C++ sub windows, Aprile 18, 2008, 06:17:28 pm

Dev-CPP este un IDE care are integrat (daca optezi pentru asta) compilatorul MinGW. Dar am vazut ca se poate utiliza si alt compilator daca vrei.

Bafta!
Memorat

"Să nu te opreşti niciodată din a-ţi pune întrebări, curiozitatea stă la baza existenţei."(Albert Einstein)
cross the line
Challenge
*
Deconectat Deconectat

Mesaje: 94


Borland C++ sub windows, Aprile 18, 2008, 07:25:29 pm

Bun am luat Dev-CPP si am testat codul, tot aia (ma rog, de data asta alta eroare): "[Linker error] undefined reference to 'GetStockObject@4'"  Sad  Straight face

Stie cineva ce sa ii mai fac?  :/
Memorat
astan
Skullbox user
Global Moderator
*
Deconectat Deconectat

Gen: Bărbat
Mesaje: 308


Borland C++ sub windows, Aprile 19, 2008, 05:04:54 am

Uita-te la optiunile de link-editare si vezi daca apare Gdi32.lib. Daca nu, adaug-o
Memorat
vladiii
*
Deconectat Deconectat

Mesaje: 166



Borland C++ sub windows, Aprile 19, 2008, 11:09:27 am

@Challenge: Ai selectat windows application ?
File -> New -> Project si selectezi C Project si Windows Application !
Memorat

Challenge
*
Deconectat Deconectat

Mesaje: 94


Borland C++ sub windows, Aprile 19, 2008, 06:14:57 pm

Mersi vladiii , ramand dator Winking!
Memorat
SkullAds
Ecspert
ReclAmator
* * * * *
Google AdSense

Gen: Bărbat
Mesaje: Multe

Reclama AdSense,
 

 
   


Pagini: [1]
  Imprimă  
 
Schimbă forumul:  

Creat cu MySQL Creat cu PHP Ethical hacking and programming community Director web romanesc cu inscriere gratuita Validat cu XHTML 1.0! Validat cu CSS!
IPFind, FAQDB, LAMP.ro, Good Proxy, Aberez.EU, RoFreeSBIE, ShockingSoft.com, HostVision, Invatam.net, PC Troubleshooting, Curs valutar online
Powered by SMF 1.1.7 | SMF © 2006-2008, Simple Machines LLC
Traducerea în limba română © 2006-2007 www.smf.ro