Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.03.2010, 17:38   #11
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

DeleteObject(SelectObject(hdc, hOldPen));//удаляем объект из контекста усстройства
DeleteObject(hPen);//уничтожаем сам объект
правильно?
и что там с файлами *.h, *.cpp, может правильно делать реализацию в *.h, а на разводить воду на 2 файла?
Dimarik вне форума Ответить с цитированием
Старый 27.03.2010, 18:05   #12
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Цитата:
правильно?
Посмотрите свой код DrawSomething и сравните с тем, что исправил я.
Вы кисть и перо создаете по 2 раза, а удаляете только 1 - утечка памяти налицо!

Цитата:
и что там с файлами *.h, *.cpp, может правильно делать реализацию в *.h, а на разводить воду на 2 файла?
ну что тут еще не ясно?

Описание класса в *.h , его реализация в *.cpp (кроме шаблонов, где все должно быть в *.h). В остальных файлах, где используется этот класс
нужно подключать *.h
counter вне форума Ответить с цитированием
Старый 27.03.2010, 19:01   #13
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

просто когда подключаю *.h выходят 2 ошибки:
Error 1 error LNK2019: unresolved external symbol "public: __thiscall KWnd::KWnd(char const *,struct HINSTANCE__ *,int,long (__stdcall*)(struct HWND__ *,unsigned int,unsigned int,long),char const *,int,int,int,int,unsigned int,unsigned long,struct HWND__ *)" (??0KWnd@@QAE@PBDPAUHINSTANCE__@@HP 6GJPAUHWND__@@IIJ@Z0HHHHIK2@Z) referenced in function _WinMain@16 MeTaFiLe.obj METAFILES

Error 2 fatal error LNK1120: 1 unresolved externals C:\Documents and Settings\Dimarik \Мои документы\Visual Studio 2008\Projects\METAFILES\Debug\METAF ILES.exe METAFILES
Dimarik вне форума Ответить с цитированием
Старый 27.03.2010, 19:01   #14
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

просто когда подключаю *.h выходят 2 ошибки:
Error 1 error LNK2019: unresolved external symbol "public: __thiscall KWnd::KWnd(char const *,struct HINSTANCE__ *,int,long (__stdcall*)(struct HWND__ *,unsigned int,unsigned int,long),char const *,int,int,int,int,unsigned int,unsigned long,struct HWND__ *)" (??0KWnd@@QAE@PBDPAUHINSTANCE__@@HP 6GJPAUHWND__@@IIJ@Z0HHHHIK2@Z) referenced in function _WinMain@16 MeTaFiLe.obj METAFILES

Error 2 fatal error LNK1120: 1 unresolved externals C:\Documents and Settings\Dimarik \Мои документы\Visual Studio 2008\Projects\METAFILES\Debug\METAF ILES.exe METAFILES
Dimarik вне форума Ответить с цитированием
Старый 27.03.2010, 23:25   #15
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

должно быть так (Visual Studio) :

// KWnd.h
Код:
#pragma once

class KWnd
{
...
};
// KWnd.cpp
Код:
#include "KWnd.h"

KWnd::KWnd(...)
{
...
};
// main.cpp

Код:
#include "KWnd.h"

...
Если все так и ошибка, то надо смотреть проект.

ps. Все файлы должны быть включены в проект.
counter вне форума Ответить с цитированием
Старый 27.03.2010, 23:59   #16
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

http://depositfiles.com/files/rbi6nh69x вот сам проект
Dimarik вне форума Ответить с цитированием
Старый 28.03.2010, 00:26   #17
counter
Участник клуба
 
Регистрация: 18.10.2008
Сообщений: 1,409
По умолчанию

Цитата:
ps. Все файлы должны быть включены в проект.
ну и кому я это написал?

В окне Solution Explorer правой кнопкой тыкаетм на название проекта, выбираем Add - Existing Item (или меню Project - Add existing Item, или Shift-Alt-A) и в появившемся окне ищем файлик KWnd.cpp, выбираем и нажимаем Add.
counter вне форума Ответить с цитированием
Старый 28.03.2010, 11:19   #18
Dimarik
Форумчанин
 
Аватар для Dimarik
 
Регистрация: 18.04.2009
Сообщений: 688
По умолчанию

а ВСЁ! спс! только надо чтобы файлы *.h и *.cpp находили в папке header files, так?
Dimarik вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц