Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual C++

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13

Открыть новую тему     Написать ответ в эту тему

distance

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RealDemyan
с учетом твоей ошибки: решение - создавать обьект Image динамечески

Код:
Image* image1 = new Image(L"I.gif");
storage.push_back(image1);

...
после использования не забываем чистить вектор

Код:
typedef std::vector<Image*> ImgVec;
for(ImgVec::const_iterator it=storage.begin(); it != storage.end(); ++it)
    delete (*it);

 
или, с помощью boost

Код:
std::for_each(storage.begin(), storage.end(), boost::checked_deleter<Image>());

 
впрочем, с boost можно сразу взять shared_ptr и не париться.
 
Добавлено:
Qraizer

Цитата:
Эта "бета", насколько я помню, быстренько пропатчилась и превратилась в 2003

это никакая не "бета", а вполне себе самостоятельный продукт, известен так же под версией 7.0 (2003 = 7.1)
У нас в конторе она была куплена официально, сам под ней программировал...

Всего записей: 878 | Зарегистр. 28-03-2004 | Отправлено: 19:28 10-09-2007
Qraizer



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ну так я слово "бета" и заключил в кавычки. А "бетой" обозвал из-за количества недоделок. Сам до сих пор юзаю 7.1 + Intel Compiler

----------
Одни с годами умнеют, другие становятся старше.

Всего записей: 613 | Зарегистр. 08-08-2006 | Отправлено: 19:35 11-09-2007 | Исправлено: Qraizer, 19:36 11-09-2007
pit23



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
 
У меня странная проблема возникла с визардами для проектов С++  
В окне визарда вообще ничего не работает кроме кнопки закрытия в верхнем правом углу.  И после слов: "These are the current project setting:" только черные маркеры без описания настроек.  
 
Помогите кто может.

Всего записей: 60 | Зарегистр. 04-03-2006 | Отправлено: 12:46 05-10-2007
zeroandruxa



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
pit23
переустанови компилятор

Всего записей: 538 | Зарегистр. 02-11-2005 | Отправлено: 23:53 09-10-2007
RedPromo



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1. Подскажите как правильно экспортировать фенкции из dll чтобы имена были нормальными

Код:
 
#ifdef _DllExport_
#define DllExport __declspec(dllexport)
#else
#define DllExport __declspec(dllimport)
#endif
 
DllExport int CALLBACK StartHook(HWND hHandleMain, bool bEnable=true)
 

А на выходе получается  
_StartHook@8
 
2. И еще одно для хука использую  
// Shared DATA

Код:
 
#pragma data_seg("SHARDATA")
 static HWND  hwndMain= 0;  // Главный hwnd. Мы получим его от приложения.
 static HHOOK lpHook  = 0;
 static bool  bSend[10] = {false,false,false,false,false,false,false,false,false,false};
#pragma data_seg()
 

 
указано в def

Код:
 
SECTIONS
       SHARDATA   Read Write Shared
 

А оно всеравно не стреляет. Может какие опции компилятору нужно еще задавать.

Всего записей: 558 | Зарегистр. 05-04-2006 | Отправлено: 12:25 11-10-2007
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
RedPromo
юзай extern "C" или лучше явно пропиши в .def-файле

Код:
 
extern "C" DllExport int CALLBACK StartHook(HWND hHandleMain, bool bEnable=true)

вроде так...

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 12:34 11-10-2007
RedPromo



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vshersh
Если такое в .def прописать пишет ошибку.
Может по подробне, потому как в def в секции экспорт

Код:
 
EXPORTS
definitions
 
entryname[=internalname] [@ordinal [NONAME]] [PRIVATE] [DATA]
 

Обясню более детально мне нужно данную либрари подцепить в делфи.
В делфях прописываю статически  

Код:
 
procedure DllHookStart; external 'WTS_HOOK.dll' name 'StartHook';
 

И не видит , поэтому и мыслю что с именем проблемы при експорте функции.

Всего записей: 558 | Зарегистр. 05-04-2006 | Отправлено: 14:34 11-10-2007 | Исправлено: RedPromo, 14:36 11-10-2007
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
напиши

Код:
EXPORTS
StartHook
 

и включи файл в проект.
Почитай еще здесь - вроде неплохо написано

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 15:04 11-10-2007
RedPromo



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vshersh
Все так и сделано приводу свой def

Код:
LIBRARY    "WTS_HOOK"
 
SECTIONS
       SHARDATA   Read Write Shared
 
EXPORT
    StartHook
    SetEnableHook

 
Спасибо почитаю.

Всего записей: 558 | Зарегистр. 05-04-2006 | Отправлено: 15:24 11-10-2007 | Исправлено: RedPromo, 15:25 11-10-2007
vshersh



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Код:
LIBRARY    "WTS_HOOK"  
 
SECTIONS  
       SHARDATA   Read Write Shared  
 
EXPORTS
    StartHook  
    SetEnableHook  
 

может в S дело?

Всего записей: 506 | Зарегистр. 12-01-2006 | Отправлено: 15:37 11-10-2007
RedPromo



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vshersh
Очень даже может, спасибо проверю.
 
Добавлено:
Да точно, а вот насчет SECTIONS  может я и тут неправильно написал.

Всего записей: 558 | Зарегистр. 05-04-2006 | Отправлено: 16:08 11-10-2007
RedPromo



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А еще вопрос как можно перехватить открытие стнадартного диалога OpenFileDialog любым другим приложением?

Всего записей: 558 | Зарегистр. 05-04-2006 | Отправлено: 15:03 12-10-2007
TrivialComp

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
СОРИ заранее за наивный вопрос.
 
Я написал маленькую прогу - "Генератор изображений"
Пример её работы : -  
 
 
   
 
Главная страница проекта.
 
Написана прога на бесплатной версии скачаной с MSDN.
 
Но я никак не могу сделать версию программы которая работала бы на других компьтерах.
ПЛЗ помогите понять, как решить этот вопрос.

Всего записей: 3 | Зарегистр. 12-10-2007 | Отправлено: 16:05 12-10-2007 | Исправлено: TrivialComp, 16:07 12-10-2007
Dem_anywhere



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Связанные ресурсы (ДЛЛки и т.п.) на другой комп перенести не забыл?

Всего записей: 230 | Зарегистр. 28-02-2006 | Отправлено: 12:49 15-10-2007
TrivialComp

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кажется понял, в чём дело.
Возможно будет работать
 
Самая предварительня Бета - Омега версия  
Для работы программы требуется установленная Microsoft .NET Framework Version 2.0 (есть на сайте MSDN)
Скачать можно здесь. http://www.money-cult.ru/Psych_Image/index.htm

Всего записей: 3 | Зарегистр. 12-10-2007 | Отправлено: 14:05 18-10-2007 | Исправлено: TrivialComp, 14:05 18-10-2007
Mr Nobody



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Стоит у меня давно, примерно с 1998 года Microsoft Visual C++ 6.0. Хочу я поставить себе более новое. Есть у меня сейчас диск  Microsoft Visual Stuldio Professional 2005, но там есть еще всякие Java и C#. Есть возможность поставить только С++ и ничего лишнего? Есть такая вещь, как Microsoft Visual С++ Professional 2005?

Всего записей: 350 | Зарегистр. 19-09-2007 | Отправлено: 11:44 23-10-2007
Ivan_D



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Mr Nobody, при инсталляции Microsoft Visual Stuldio Professional 2005 можно выбрать выборочную установку и поставить галочку - установить C++. Ничего лишнего, кроме общих для Visual Studio файлов, устанавливаться не будет.

Всего записей: 1458 | Зарегистр. 01-03-2006 | Отправлено: 11:56 23-10-2007
Mr Nobody



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ivan_D, уточните. пожалуйста.  
1. Я должен поставить только галочку - установить С++, все остальное оставить неотмеченым?  
2. С хелпом. На VS 6.0 я ставил MSDN и имел помощь в не зависимости от интернета. На версии С++ 2005 такое возможно?  

Всего записей: 350 | Зарегистр. 19-09-2007 | Отправлено: 14:02 23-10-2007
Rudia



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Mr Nobody
1. Ставьте галочку только там, где считаете нужным
2. Да, установка МSDN решает все проблемы с хелпом.

Всего записей: 324 | Зарегистр. 13-09-2006 | Отправлено: 15:15 23-10-2007
Mr Nobody



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Rudia

Цитата:
1. Ставьте галочку только там, где считаете нужным  

Я бы хотел знать, что считать нужным? Просто, зачем иметь не нужный гигабайт.  

Всего записей: 350 | Зарегистр. 19-09-2007 | Отправлено: 15:21 23-10-2007
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Visual C++


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru