Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.83/6: Рейтинг темы: голосов - 6, средняя оценка - 4.83
0 / 0 / 0
Регистрация: 19.01.2011
Сообщений: 28

Ищу способ создать не глюченый дополнительный поток

20.09.2011, 23:34. Показов 1358. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Начну с того, что проблема с дополнительным потоком, а именно - когда запускаю программу в бейсике, то все отлично работает. В Windows'e же вылетает ошибка "память не может быть read". Компиляция, конечно же P-code. (проверял на Win XP и Win 7, так что маловероятно, что что-то с виндой.)
В программе за создание потока отвечает следующая строка
Visual Basic
1
NewThread1 = CreateThread(ByVal 0&, ByVal 0&, AddressOf DownloadInThread, ByVal 0&, CREATE_SUSPENDED, ThreadID)
, кстати если таким же методом создать более простую процедуру, то в виндовсе все отлично работает. Ну а вообще, в конечном счете я добиваюсь того, чтобы файлы весом 1-50 кб, скачивались без зависания программы (1-2 секунды для меня критичны), например Качалка Темича "зависает" программу на 500-2000 мс, независимо от размера файла, и как я уже сказал, любые зависания в моем случае не пригодны. Может быть есть более подходящая для меня качалка? И еще хотел спросить, может вообще использовать получение файлов по ФТП ? И как закачки по фтп будут отражаться на "стойкости" программы. Спасибо.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
20.09.2011, 23:34
Ответы с готовыми решениями:

Как создать дополнительный поток?
сабж. пробовал создавать так: void Thread( void* pParams ) { int i, num = 0; while ( 1 ) { Sleep(1000); ...

Дополнительный поток с периодом обновления
Существует код парсинга, мне нужно создать цикл обнобления в 5 секунд в бэкграунде, и на мейн выводить исходный код страницы import...

Дополнительный поток тормозит главный
Всем здравствуйте. Вот код, использующий работу нескольких потоков: Public Class Form1 ' Переменные для организации...

3
 Аватар для Mr.Burns
13 / 18 / 0
Регистрация: 04.01.2011
Сообщений: 26
21.09.2011, 01:01
смотреть в сторону powerbasic purebasic.
1
 Аватар для Pro_grammer
6807 / 2839 / 527
Регистрация: 24.04.2011
Сообщений: 5,308
Записей в блоге: 10
21.09.2011, 08:56
Цитата Сообщение от Rody66 Посмотреть сообщение
Может быть есть более подходящая для меня качалка?
Есть быстрая качалка, не тормозит окно во время работы, имеет индикатор загрузки:
Вложения
Тип файла: zip downloader.zip (28.4 Кб, 19 просмотров)
1
0 / 0 / 0
Регистрация: 19.01.2011
Сообщений: 28
21.09.2011, 14:10  [ТС]
Pro_grammer, и правда отличная качалка, совершенно никак на работе программы не отражается, большое спасибо! Сейчас вот пробую получать файл в строковую переменную, но пока безуспешно.. Делаю следующее.. Я так понял, нижеизложенный кусок кода отвечает непосредственно за запись полученных данных в файл, в него я добавил свою строку, которая, к сожалению, работает не так как хотелось бы.
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
    Open strDestination For Binary Access Write As #intFile
 
    If blnResume Then Seek #intFile, lngBytesReceived + 1
    Do
        bData = Inet.GetChunk(CHUNK_SIZE, icByteArray)
        main.Text3 = main.Text3 & CStr(bData) 'мною добавленная строка
        Put #intFile, , bData
        If CancelSearch Then Exit Do
        lngBytesReceived = lngBytesReceived + UBound(bData, 1) + 1
        RaiseEvent DownloadProgress(Round((lngBytesReceived / lngFileLength) * 100))
        DoEvents
    Loop While UBound(bData, 1) > 0
 
    Close #intFile
По завершению, файл создается с верными данными. А вот значение Text3 получается "?????". С байтовым типом до этого почти не имел дело, потому не знаю каким образом его можно преобразовать String. (файл скачивается с обычным текстом, с весом в 12 байт)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
21.09.2011, 14:10
Помогаю со студенческими работами здесь

Дополнительный поток: как реализовать
Добрый день! Помогите пожалуйста добавить поток в программу, просто не могу сам разобраться в потоках. И ещё не большая просьба - дайте...

Дополнительный поток и внешние функции\процедуры
Приветствую Вас, победители восставших компиляторов. Возник небольшой вопрос, в проге есть вспомогательные модули, ну и соответственно...

Нужно создать базу данных (создать пустой бинарный файл). Через поток. Поток бинарного файла описать в виде локальной переменной внутри функции.
Совсем не понял эту тему. Нужно создать базу данных (создать пустой бинарный файл). Через поток. Поток бинарного файла описать в виде...

Самый быстрый способ передать числа в поток
Добрый вечер, форумчане. Спрошу на удачу, может кто съел уже собаку на этом. 1) Есть главный и дополнительный поток 2)...

Глюченый модуль на DataLife Engine
Привет всем, вообщем вот сам модуль или хак, как вам нравится, он глючит у меня, картинки вытягиваются и я когда его пробовал настраивать у...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru