|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
01.03.2014, 12:40 | #1 |
Спокойный псих
Участник клуба
Регистрация: 19.03.2013
Сообщений: 1,538
|
Две проблемы - потоки и функция GetTypeDrive
Извините за много текста, но спойлера к моему сожалению здесь нет.
Проблема первая Как создать поток в приложении Windows Forms ? Есть три функции CreateThread, _beginthread, и _beginthreadex. Вызов этих функций происходит примерно следующим образом ... Для CreateThread: Код:
Код:
В консольном приложении (правда под C++) проблем никаких, а вот для Windows Forms есть ошибки (параметр lpStartAdress во всех функциях), причём для всех функций одни и те же. Первый вариант ошибки " Шаблон::Form1::thread: в вызове функции отсутствует список аргументов; используйте "&Шаблон::Form1::thread" для создания указателя на член " Второй вариант ошибки При подстановке амперсанда (&) перед "thread" следующая ошибка: " &: недопустимая операция с выражением привязанной функции-члена " Третий вариант При полной записи "так как сказал компилятор" (&Шаблон::Form1::thread): аналогичная ошибка, как в предыдущем варианте; Четвёртый вариант При полной записи без амперсанда (Шаблон::Form1::thread): ошибка, аналогичная второй. Это в данный момент времни моя самая больная и большая проблема. Чё мне делать ? Я читал многА литературы, и самый неприятный вариант - у .NET есть "свои функции управления потоками", и прилегающие простыни кода (без описания, что куда вставлять). Проблема вторая Функция GetTypeDrive. Эта функция работает правильно, но только один раз - первый. То есть, у меня в системе 3 логических жёстких дисков, и для каждого из них функция возвращает правильный результат по одному разу. То есть, для диска C:\ результат 3, для диска D:\ результат 3 и для диска E:\ результат 3. Если пойти по второму кругу - то результат функции будет 1 (для любого диска). Что мне делать с этой проблемой ? Ну и в итоге, для чего мне всё это нужно: Обновление информации о жёстких дисках, и всё это в потоке (см. первую проблему). Я конечно понимаю, что тип диска можно получить один раз, а потом обновлять информацию о памяти, файловой системе и т.п., но это сильно усложнит арифметику, так как выводимую информацию придётся хранить отдельно, причём в динамической матрице char (ибо студия не позволяет создавать массив String ^).
Подпись ? Не, не слышал ...
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Потоки. Закрываются все потоки при ошибке в одном. | Son | Общие вопросы Delphi | 11 | 01.11.2013 09:32 |
Как совместить две трудовые деятельности - две работы? | Alar | Свободное общение | 19 | 12.10.2012 10:40 |
две не понятные проблемы. | mbstar | Компьютерное железо | 6 | 10.05.2011 16:52 |
Проблемы с циклом - Потоки | ArniLand | Общие вопросы C/C++ | 1 | 03.06.2010 19:31 |
С паскалем как и у многих проблемы,прошу помощи. Две задачи: интегральная и графическая. | Loyal | Помощь студентам | 3 | 27.09.2007 09:46 |