Вопрос: Потоки и VB - ... | Добавлено: 12.01.08 09:22 |
Автор вопроса: ![]() |
Я понимаю, что данный вопрос может вызвать смех у многих, кто его прочитает, а может и не вызовет...
Есть в VB6 возможность работы с потоками? Заранее благодарен. |
Ответы | Всего ответов: 27 |
Номер ответа: 1 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 278109632 Вопросов: 42 Ответов: 3949 |
Web-сайт: Профиль | Цитата | #1 | Добавлено: 12.01.08 12:50 |
Без бубна - нет. |
Номер ответа: 2 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 71 Ответов: 246 |
Профиль | Цитата | #2 | Добавлено: 12.01.08 12:50 |
Нет, смех не вызывает. ![]() Нет, VB6 в ЕХЕ проектах с потоками не позволяет работать. Юзай API. |
Номер ответа: 3 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Вопросов: 130 Ответов: 6602 |
Профиль | Цитата | #3 | Добавлено: 12.01.08 15:17 |
Возможность - есть.
Но если у тебя действительно появилась необходимость в этом, то... советую рассмотреть переход на приспособленые для этого платформы, например .NET |
Номер ответа: 4 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 246 Ответов: 3333 |
Web-сайт: Профиль | Цитата | #4 | Добавлено: 12.01.08 19:07 |
Юзай API
А поподробней, если не сложно? ![]() переход на приспособленые для этого платформы, например .NET Мне надо на VB6.
|
Номер ответа: 5 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 278109632 Вопросов: 42 Ответов: 3949 |
Web-сайт: Профиль | Цитата | #5 | Добавлено: 12.01.08 19:37 |
А поподробней, если не сложно?
![]() сложно ![]() |
Номер ответа: 6 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #6 | Добавлено: 12.01.08 21:11 |
имхо ТС вообще просто слышал, но даже не пытался.. иначе бы заметил, что работа с потоками, как и с чем-либо другим, осуществляется через API функции ![]() Вот я и советовал бы ТС сначала попробовать через API функции эти, да поглядеть в чем собака зарыта.. да потом почитать статьи о том как же заставить прогу не падать при работе с потоками... А потом используя метод из статьи в проге побольше, разочароваться что оно всёравно падает.. плюнуть на это дело, и посмотреть на альтернативы вб6 ![]() |
Номер ответа: 7 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #7 | Добавлено: 13.01.08 03:17 |
Ну почему же. Как я понимаю, если написать прогу и не запуская в IDE вообще, скомпилировать в exe. То всё норм))
(Хотя с редактированием байт-кода Java2MicroEdition никакие потоки не сравнятся. Было похоже на ASM) |
Номер ответа: 8 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Вопросов: 8 Ответов: 482 |
Профиль | Цитата | #8 | Добавлено: 13.01.08 13:16 |
VB.NET прекрасно работает с потоками.
Кстати, ктонить знает каково максимально допустимое колличество потоков запущенных из одного процесса? |
Номер ответа: 9 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() Администратор ICQ: 278109632 Вопросов: 42 Ответов: 3949 |
Web-сайт: Профиль | Цитата | #9 | Добавлено: 13.01.08 13:35 |
теоретически - 7fffh, вроде. но вряд ли на практике получится![]() |
Номер ответа: 10 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Лидер форума ICQ: 216865379 Вопросов: 106 Ответов: 9979 |
Web-сайт: Профиль | Цитата | #10 | Добавлено: 13.01.08 15:05 |
The number of threads a process can create is limited by the available virtual memory. By default, every thread has one megabyte of stack space. Therefore, you can create at most 2028 threads. If you reduce the default stack size, you can create more threads.
MSDN жжот ![]() |
Номер ответа: 11 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 20 Ответов: 285 |
Профиль | Цитата | #11 | Добавлено: 13.01.08 16:37 |
Вообще-то многопоточности без бубна в 6 бейсике фиг добьешься. Хотя вот статья Уважаемого Даниэля Эпплмана:
http://www.codenet.ru/progr/vbasic/threads.php |
Номер ответа: 12 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 87 Ответов: 2795 |
Web-сайт: Профиль | Цитата | #12 | Добавлено: 13.01.08 19:10 |
и что? и как сделать нормальное завершение работы программы в IDE? |
Номер ответа: 13 Автор ответа: ![]() ![]() ![]() ![]() Вопросов: 246 Ответов: 3333 |
Web-сайт: Профиль | Цитата | #13 | Добавлено: 14.01.08 16:49 |
doevents |
Номер ответа: 14 Автор ответа: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() Разработчик Offline Client Вопросов: 236 Ответов: 8362 |
Профиль | Цитата | #14 | Добавлено: 16.01.08 01:10 |
Winand, дело далеко не в IDE ![]() |
Номер ответа: 15 Автор ответа: ![]() ![]() ![]() ![]() ICQ: 334781088 Вопросов: 108 Ответов: 2822 |
Профиль | Цитата | #15 | Добавлено: 16.01.08 10:03 |
VB6 вполне способен работать с потоками.
К примеру, три способа по убыванию нубизны 1. Компилить прогу в p-code. Неудобно и не слишком надежно, но заставить работать можно 2. Использовать вместо стандартного exe ActiveX.exe в режиме standalone. Работает красиво и надежно, хотя есть свои камушки, которые, впрочем, обходятся. Оптимальный метод в соотношении цена/качество. 3. Работать через API, объявленные в TLB. В данном случае после создания свободного потока нужно инициализировать OLE, инициализировать TLS путем создания любого COM-объекта, задействовать цикл выборки сообщений и выполнять маршалинг. Впрочем, для простых задач последовательность можно несколько упростить. Ну и, разумеется, никто не мешает использовать библиотеки, написанные в том же C++. И никаких бубнов. |
|