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

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

Вернуться   Форум программистов > C/C++ программирование > C++ Builder
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.05.2013, 12:49   #1
Makin_tosh
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 24
По умолчанию Отказано в доступе

Здравствуйте! Подскажите, пожалуйста почему код, выполняющийся в Win7 вызывает Отказано в доступе в Win XP

Создаю поток:
Код:
TODFPro *ODF_ThreadPro = new TODFPro(true,
  ODFProPanel->Handle,
  true, Source, Dest,
  0, AllRenameR, false, LongNameR);
int id_Thread = ODF_ThreadPro->ThreadID;
Стартую поток:
Код:
			HANDLE thH = OpenThread(THREAD_ALL_ACCESS, false, ODFProPanelButton1->Tag);
			if (thH) {
				if (ODFProPanelTrackBar->Value == 0) SetThreadPriority(thH, tpIdle);
				...
				ResumeThread(thH);
			}                                 Вызывает отказ в доступе
			CloseHandle(thH);

Последний раз редактировалось Serge_Bliznykov; 15.05.2013 в 12:54. Причина: Дополнение
Makin_tosh вне форума Ответить с цитированием
Старый 15.05.2013, 14:14   #2
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
AllRenameR, CloseHandle(thH);
Вы хотите закрыть файл, доступ к коророму открыт, но файл не переименован?
Хи-хи. Удачи.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 15.05.2013, 14:37   #3
Makin_tosh
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 24
По умолчанию

Цитата:
Вы хотите закрыть файл, доступ к коророму открыт, но файл не переименован?
Хи-хи. Удачи.
Вы о чем?


Код:
			HANDLE thH = OpenThread(THREAD_ALL_ACCESS, false, ODFProPanelButton1->Tag);
			if (thH) {
				if (ODFProPanelTrackBar->Value == 0) SetThreadPriority(thH, tpIdle);
				....
				ResumeThread(thH);
			}
			else {
				String Error_String = SysErrorMessage (GetLastError());
				VOID SetLastError (IN DWORD dwErrCode);
				Application->MessageBox(Error_String.w_str(),
										L"Запуск операции",
										MB_OK + MB_ICONERROR + MB_APPLMODAL +
										MB_TOPMOST);
            }
			CloseHandle(thH);
GetLastError выдает эту ошибку. И почему, тогда Win7 такой ошибки не выдает?
Makin_tosh вне форума Ответить с цитированием
Старый 15.05.2013, 15:06   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
GetLastError выдает эту ошибку. И почему, тогда Win7 такой ошибки не выдает?
Вы систему программных перываний хороше учили? В Win7, она здвинута. Не все компили это учитывают.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 15.05.2013, 15:12   #5
Makin_tosh
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 24
По умолчанию

И как быть тогда?
Makin_tosh вне форума Ответить с цитированием
Старый 15.05.2013, 15:56   #6
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
Сообщение от Makin_tosh Посмотреть сообщение
И как быть тогда?
Семёрка не XP-ха. Мелкомягкие - идиоты. С адрессацией повозиться хотите? Видели когда нибудь толстую задницу у женжины?
Теперь представьте себе 100 таких задниц.
Если начьнёте, это Вас ждёт.
Если не понятно (полная ж...).
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder

Последний раз редактировалось Smitt&Wesson; 15.05.2013 в 15:59.
Smitt&Wesson вне форума Ответить с цитированием
Старый 15.05.2013, 18:25   #7
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,493
По умолчанию

Откуда берется ODFProPanelButton1->Tag?
Может там неправильное ID процесса?
waleri вне форума Ответить с цитированием
Старый 15.05.2013, 18:53   #8
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,964
По умолчанию

Цитата:
Сообщение от waleri Посмотреть сообщение
Откуда берется ODFProPanelButton1->Tag?
Может там неправильное ID процесса?
Башкой тронуться можно.
Вы хоть читайте, что в коде написано.
Button1->Tag. Кнопка1->"по усмотрению пользователя".
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 15.05.2013, 18:56   #9
Makin_tosh
Пользователь
 
Регистрация: 16.10.2011
Сообщений: 24
По умолчанию

Сделал следующим образом:
Код:
			HANDLE thH = OpenThread(0x0002, false, ODFProPanelButton1->Tag);
			if (thH) {
				if (ODFProPanelTrackBar->Value == 0) SetThreadPriority(thH, tpIdle);
				if (ODFProPanelTrackBar->Value == 1) SetThreadPriority(thH, tpLowest);
				if (ODFProPanelTrackBar->Value == 2) SetThreadPriority(thH, tpLower);
				if (ODFProPanelTrackBar->Value == 3) SetThreadPriority(thH, tpNormal);
				if (ODFProPanelTrackBar->Value == 4) SetThreadPriority(thH, tpHigher);
				if (ODFProPanelTrackBar->Value == 5) SetThreadPriority(thH, tpHighest);
				if (ODFProPanelTrackBar->Value == 6) SetThreadPriority(thH, tpTimeCritical);
				// --------------------------------------------------------------------
				ResumeThread(thH);
			}
			else {
				String Error_String = SysErrorMessage (GetLastError());
				VOID SetLastError (IN DWORD dwErrCode);
				Application->MessageBox(Error_String.w_str(),
										L"Запуск операции",
										MB_OK + MB_ICONERROR + MB_APPLMODAL +
										MB_TOPMOST);
			}
			CloseHandle(thH);
Все работает и в 7 и в XP.
Makin_tosh вне форума Ответить с цитированием
Старый 15.05.2013, 21:08   #10
FataLL
Форумчанин
 
Аватар для FataLL
 
Регистрация: 29.01.2013
Сообщений: 319
По умолчанию

Makin_tosh
И чё? Вся проблема была в константе?
FataLL вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VB.NET Отказано в доступе при распаковке ресурсов на диск Inex Общие вопросы .NET 1 01.11.2012 11:31
Отказано в доступе до диска Е Sasha_Honcharuk Безопасность, Шифрование 0 26.03.2011 19:08
Отказано в доступе Bat{CMD}_Men Операционные системы общие вопросы 8 20.06.2010 17:35
отказ в доступе Kiber3D Безопасность, Шифрование 2 05.06.2010 10:54