RU/2: Форум. Общение пользователей и разработчиков OS/2 (eCS). : Вопрос по С/С++


Список сообщений | Написать новое | Ответить на сообщение | Домой Поиск:
Предыдущее сообщение | Следующее сообщение
From : ErOs2, http://eros2.by.ru
To : Michael
Subj : Вопрос по С/С++

> Пишется прога под ПМ.
> В главном файле, main.c имеется оконная процедура главного окна и оконная процедура дочернего окна.
> Как мне вынести саму функцию дочернего окна в отдельный файл, чтобы поаккуратнее было? Ну к примеру в toolbar1.c?
>

Да... Это самый прикольный вопрос по Си который я когда-либо видел. Даже не знаю что тебе ответить.

Ну, во первых, можно посоветовать тебе почитать какую-нить книжку по Си.

Во вторых, вспомнить про прототипы функций в .h-файлах. Зачем они нужны? А затем чтоб компилятор видел что такая функция есть. А в этом файле она, или в другом - неважно.

В общем, если в одном файле ты напишеь

MRESULT EXPENTRY myCoolWindowProc( HWND hwnd , ULONG msg , MPARAM mp1 , MPARAM mp2 )
{
return WinDefWindowProc( hwnd , msg , mp1 , mp2 );
}

А в другом укажешь прототип этой функции

MRESULT EXPENTRY myCoolWindowProc( HWND hwnd , ULONG msg , MPARAM mp1 , MPARAM mp2 );

И заюзаешь её

void main()
{

...

WinRegisterClass( hab , "my.cool.class" , myCoolWindowProc , 0 , sizeof( ULONG ) );

...

}

То у тебя всё заработает.




Sat 24 Jan 2004 00:06 Mozilla/5.0 (OS/2; U; Warp 4.5; en-US; rv:1.4.1) Gecko/20031




Programmed by Dmitri Maximovich, Dmitry I. Platonoff, Eugen Kuleshov.
25.09.99 (c) 1999, RU/2. All rights reserved.
Rewritten by Dmitry Ban. All rights ignored.