powered by simpleCommunicator - 2.0.36     © 2025 Programmizd 02
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Простая реализация многопоточности на VB6 средствами ActiveX EXE без WinAPI и падений IDE
7 сообщений из 7, страница 1 из 1
Простая реализация многопоточности на VB6 средствами ActiveX EXE без WinAPI и падений IDE
    #39668643
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот попался мне такой замечательный исходник. Пример реализации многопоточности на VB.
На его основе, например можно сделать многопоточный Winsock сервер обрабатывающий запросы пользователей без задержки.
Для запуска примера надо сделать следующее:

автор1) Unzip the source code to a folder, making sure to preserve directorys. There are 2 separate projects, and one is in a seperate folder.
2) Open the activex threader project 'prjThreader.vbp' in vb and press ctrl+F5 to run it (start with full compile)
3) Open the 'prjTest.vbp' project in vb and goto Project > References and make sure there is a reference to 'ActiveX Threader', if not make sure it is. You may have to uncheck it, save the project, close and re-open it, and recreate the reference again.
4) run the test project, and check out Example 2, to see how multi threading can work


Действительно это работает!
...
Рейтинг: 0 / 0
Простая реализация многопоточности на VB6 средствами ActiveX EXE без WinAPI и падений IDE
    #39668680
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Eolt,

Eoltбез WinAPI
Код: vbnet
1.
2.
3.
Private Declare Function SetTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long, ByVal uElapse As Long, ByVal lpTimerFunc As Long) As Long
Private Declare Function KillTimer Lib "user32" (ByVal hwnd As Long, ByVal nIDEvent As Long) As Long
Private Declare Sub CopyMemory Lib "kernel32" Alias "RtlMoveMemory" (dest As Any, source As Any, ByVal bytes As Long)



Был пример на vbstreets без API с таймером, смысл тот же самый (асинхронный посыл сообщения). Но тут 2 проблемы, главная - без админа не будет работать просто так (+необходима регистрация при установке). Вторая, необходимость таскать 2 бинарника. Если второй момент не смущает, я бы лучше посоветовал эту dll (тут можно обойти первое ограничение "малой кровью" через манифест), но с отладкой там тоже траблы (придется отлаживать в основном потоке).
...
Рейтинг: 0 / 0
Простая реализация многопоточности на VB6 средствами ActiveX EXE без WinAPI и падений IDE
    #39668701
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2,

Апишный таймер там вроде не особо нужен. А CopyMemory не используется в коде нигде.
...
Рейтинг: 0 / 0
Простая реализация многопоточности на VB6 средствами ActiveX EXE без WinAPI и падений IDE
    #39668711
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EoltАпишный таймер там вроде не особо нужен.
Не, тогда придется заменять формой с таймером. Либо делать через PostMessage, APC и т.п.
...
Рейтинг: 0 / 0
Простая реализация многопоточности на VB6 средствами ActiveX EXE без WinAPI и падений IDE
    #39668714
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запускать надо под- админом только один раз же. Чтобы зарегать ActiveX EXE.
Потом все работает и без админских прав.
...
Рейтинг: 0 / 0
Простая реализация многопоточности на VB6 средствами ActiveX EXE без WinAPI и падений IDE
    #39669111
Eolt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ATM-TURBO 2,

Кстати, что ты думаешь на счет этой реализации?
...
Рейтинг: 0 / 0
Простая реализация многопоточности на VB6 средствами ActiveX EXE без WinAPI и падений IDE
    #39669120
ATM-TURBO 2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
EoltATM-TURBO 2,

Кстати, что ты думаешь на счет этой реализации?
Неплохая в принципе, если использовать RC5 фреймворк в проекте, то можно заюзать, но это также дополнительно требует отдельный модуль для работы в который нужно компилировать код (т.е. для работы нужно дополнительно 2 dll). Асинхронный вызов также реализован у меня, но там не требуется ничего больше. Кстати у Олафа также есть пример с мультипроцессингом , в некоторых задачах это даже более безопасно. Я у себя в новой версии TrickComposer использую свой модуль, который публиковал тут недавно.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Простая реализация многопоточности на VB6 средствами ActiveX EXE без WinAPI и падений IDE
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]