Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Программирование на С++

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование
Предыдущая тема :: Следующая тема  
Автор Сообщение
Baz



Зарегистрирован: 23.04.2002
Сообщения: 29

СообщениеДобавлено: Пн Май 20 2002 07:47    Заголовок сообщения: Программирование на С++ Ответить с цитатой

Только начинаю программировать на С. Установлен Borland C++ Builder 5.0 Почти точно списал из книги код программы. Почему он не работает (не регистрируется класс)? Может, я чего-то базового не знаю про отладчик, компилятор и т.д.? Вот код целиком:

#include
#include

LRESULT CALLBACK WndProc(HWND, UINT, UINT, LONG);

int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpszCmdParam, int nCmdShow)
{
HWND hWnd;
WNDCLASS WndClass;//the name of structure of our class information
MSG Msg;//the name of structure to describe a message
char szClassName[]="Hello, world!";//the name of our class

//FILLING THE FIELDS OF THE STRUCTURE
WndClass.style=CS_HREDRAW|CS_VREDRAW;//the style of the class
WndClass.lpfnWndProc=WndProc;//callback procedure of the class
WndClass.lpszClassName="Hello, World!";//the name of the class
WndClass.hInstance=hInstance;//the handl of our application

//REGISTERING OF OUR CLASS
if (!RegisterClass(&WndClass))
{MessageBox(NULL,"Can't register the class",
"ERROR", MB_ICONEXCLAMATION);
return 0;
}

//CREATING THE WINDOW
hWnd=CreateWindowEx(WS_EX_OVERLAPPEDWINDOW,szClassName,
"MY_PROGRAM",WS_OVERLAPPEDWINDOW,0,0,100,100,
NULL,NULL,hInstance,NULL);
if (hWnd==NULL)
{MessageBox(NULL,"CAN'T CREATE THE WINDOW",
"ERROR",MB_ICONEXCLAMATION);
return 0;
}

//SHOW OUR WINDOW
ShowWindow(hWnd,nCmdShow);
UpdateWindow(hWnd);

//BEGINNING THE MESSAGE CYCLE
while (GetMessage(&Msg,NULL,0,0))
DispatchMessage(&Msg);
return 0;
}//End of WinMain

//=========================================================.. CALLBACK WndProc(HWND hWnd, UINT Message,
WPARAM wParam, LPARAM lParam)
{
switch (Message)
{case WM_DESTROY: PostQuitMessage(0);
return 0;
}
return DefWindowProc(hWnd, Message, wParam, lParam);
}//End of WndProc

Заранее спасибо, Baz.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Roman_2002



Зарегистрирован: 21.05.2002
Сообщения: 56
Откуда: Львов

СообщениеДобавлено: Пн Май 20 2002 10:12    Заголовок сообщения: Re: Программирование на С++ Ответить с цитатой

замени
LRESULT CALLBACK WndProc(HWND, UINT, UINT, LONG)

long PASCAL WndProc(HWND, UINT, WPARAM, LPARAM )
и всё пойдет.

А вообще зачем тебе так создавать такие приложения? Не поще сразу браться к визуальному программированию?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Baz



Зарегистрирован: 23.04.2002
Сообщения: 29

СообщениеДобавлено: Вт Май 21 2002 05:10    Заголовок сообщения: Re: Программирование на С++ Ответить с цитатой

Во-первых, задание такое. Ну, а, во-вторых, мне и самому хочется поменьше от языка зависеть. А не затруднит добавить к ответу чуть-чуть комментариев? Я, в общем-то, уже по-другому сделал, но знать хочется ПОЧЕМУ не работает. В книжках же написано, что должно Smile.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Roman_2002



Зарегистрирован: 21.05.2002
Сообщения: 56
Откуда: Львов

СообщениеДобавлено: Вт Май 21 2002 09:57    Заголовок сообщения: Re: Программирование на С++ Ответить с цитатой

Просто не сответсвиє типов. Насколько я знаю CALLBACK это тоже самое что far Pascal.

А если ты считаешь что в книгав все правильно, то глубоко ошибаешся! Там тьма глюков, особенно в дешевых и подозрительных издателей! Я когда начинал программировать сам на такие грабли не раз нарывался!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Uraa
Гость





СообщениеДобавлено: Пт Июн 28 2002 02:44    Заголовок сообщения: Re: Программирование на С++ Ответить с цитатой

Крикун считает, что это С++? Ты вспомнил far, умерший вместе с 16-bit? Ты считаешь , что CALLBACK == pascal (а не stdcall)? Напиши еще чего-нибудь - приятно поболтать о давно ушедших временах.
P.S. Я в курсах, что сейчас PASCAL == stdcall
Вернуться к началу
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Программирование Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...