Архив: Технология создания плагинов
- ~LONSDALE~
- Сообщения: 145
- Зарегистрирован: 14:38, 09.03.2008
- Контактная информация:
Re: Технология создания плагинов
Подскажите пожалуйста как через определённый промежуток времени отправить сообщение в чат.Помогите очень нужно.
Re: Технология создания плагинов
Можно использовать winapi функцииZigZagkms писал(а): Формы у меня в проекте нету. Насколько мне известно таймер он посылает сообщение окну WM_TIMER и тогда уже выполняется функция, была бы форма было бы проще посылать сообщения самому со своим идентификатором и выполнять, хотя в этом я тоже могу ошибаться, не долго я с С++ работаю, как раз с тех самых пор когда разработчики отказались от UDP=) Добавлять форму ради таймера не охота, слишком большие затраты.
Код: Выделить всё
UINT_PTR WINAPI SetTimer(__in_opt HWND hWnd, __in UINT_PTR nIDEvent, __in UINT uElapse, __in_opt TIMERPROC lpTimerFunc);
BOOL WINAPI KillTimer(__in_opt HWND hWnd, __in UINT_PTR uIDEvent);
//функция таймера
void OnTimer(HWND hwnd, UINT msg, UINT idtimer, DWORD dwTime)
{
// здесь код функции
}
//пример вызова
UINT timerid=SetTimer(0, 0, 6000, &OnTimer);
KillTimer(0, timerid);
Последний раз редактировалось supermet 11:37, 26.11.2010, всего редактировалось 5 раз.
Re: Технология создания плагинов
Кто хорошо разбирается в многопоточности?
Подскажите пожалуйста как и при каких обстоятельствах использовать Synchronize? (вычитал в гугле
) Просто раньше второй поток исполнят тупой код, а сейчас начал взаимодействовать с элементами интерфейса и пошли-поехали ошибки, причем сразу и не поймешь откуда ноги то растут..
Вот код в основном потоке:
А во втором:
И как вот сделать чтобы никаких ошибок не появлялось?
Подскажите пожалуйста как и при каких обстоятельствах использовать Synchronize? (вычитал в гугле

Вот код в основном потоке:
Код: Выделить всё
form1.Memo2.Lines.Add('['+TimeToStr(Now)+']'+' Плагин успешно запущен на сервере CommFort версии - ' + uVersion);
Код: Выделить всё
form1.Memo2.Lines.Add('['+TimeToStr(Now)+']'+' Обновляю xml файлы...');
-
- Сообщения: 109
- Зарегистрирован: 08:23, 11.12.2008
- Откуда: Комсомольск-на-Амуре
- Контактная информация:
Re: Технология создания плагинов
Вопрос к разработчикам сервера. Чем грозит использование импортируемых функций в дочерних потоках, и почему?
Забросил, всем спасибо, исходники раздаю кому надо https://github.com/ZigZagkms
Re: Технология создания плагинов
Скажите, что будет, если виртуальный пользователя забанен, например, на отправку сообщений в канал, а он будет пытаться совершить это действие?
Когда пишете программу, всегда думайте о том, что её может затем поддерживать психопат и насильник, который знает где вы живёте.
— Martin Golding
— Martin Golding
Re: Технология создания плагинов
Сообщения тупо не будут публиковаться, проверено. Для контроля возможен только периодический запрос списка банов с поиском бота в списке забаненных.ОреЛ писал(а):Скажите, что будет, если виртуальный пользователя забанен, например, на отправку сообщений в канал, а он будет пытаться совершить это действие?
Re: Технология создания плагинов
Второй день пытаюсь наладить синхронизацию. За это время узнал несколько фактов:cilvay писал(а):Кто хорошо разбирается в многопоточности?
Подскажите пожалуйста как и при каких обстоятельствах использовать Synchronize? (вычитал в гугле)
1. Synchronize НЕ РАБОТАЕТ В DLL.
2. Критические секции работают под виндой, а под wine'ом надо ещё что-то добавлять, чтобы они заработали (так и не нашел как и что добавить надо).
3. Семафоры и мютексы сложновато реализовать. Это уже на самый крайний случай.
Re: Технология создания плагинов
Maxim Mirgorodsky, очень хотелось-бы видеть событие (серверное), информирующее о появлении нового объявления (хотя бы только с его id). И вообще я немного не понял. на клиентской стороне список объявлений храниться где-то в файле или получается при каждом подключении к серверу? Ведь данные всёравно получаются клиентом при появлении нового объявлении, почемубы получение данных плагином (в событии) не совместить с событие получения данных клиентом, без возможности дополнительного запроса со списком/содержанием.
Re: Технология создания плагинов
Есть ещё 1 просьба к разработчикам коммфорта, пожалуйста в файле справки по плагинам введите раздел, содержащий список изменений и дополнений пунктов в справке (желательно фиксировать все версии таковых, и выделять цветом/рамкой изменённые данные).
- ~LONSDALE~
- Сообщения: 145
- Зарегистрирован: 14:38, 09.03.2008
- Контактная информация:
Re: Технология создания плагинов
Пацаны,помогите мне с моей проблемой. Пост чуть выше.
Re: Технология создания плагинов
а в чём собственно проблема?~LONSDALE~ писал(а):Пацаны,помогите мне с моей проблемой. Пост чуть выше.
- ~LONSDALE~
- Сообщения: 145
- Зарегистрирован: 14:38, 09.03.2008
- Контактная информация:
Re: Технология создания плагинов
как через определённый промежуток времени отправить сообщение в чат.Помогите очень нужно.@serg@ писал(а):а в чём собственно проблема?
(Delphi)
Re: Технология создания плагинов
Не зависимо от языка разработки запустить таймер, в обработчики таймера инициализировать событие 50.~LONSDALE~ писал(а):как через определённый промежуток времени отправить сообщение в чат.Помогите очень нужно.
(Delphi)
- ~LONSDALE~
- Сообщения: 145
- Зарегистрирован: 14:38, 09.03.2008
- Контактная информация:
Re: Технология создания плагинов
Просто я рабоют с плагином для сервера.Допустим принемаю сообщения от пользователя,обновлю данные и когда программа обнавила данные нужно послать сообщение. Через таймер пытался обновить,но отправить так и не понял как.
Если не сложно опиши весь код как это работает. Очень буду блогодарен.
Если не сложно опиши весь код как это работает. Очень буду блогодарен.
Re: Технология создания плагинов
ну как на дельфи реализовать я не могу подсказать, если работаешь с формами, то там есть специальный компонент, если без форм то постов 10 назад был пример как это реализовать на с++, думаю можно легко переписать под твои нужды.~LONSDALE~ писал(а):Просто я рабоют с плагином для сервера.Допустим принемаю сообщения от пользователя,обновлю данные и когда программа обнавила данные нужно послать сообщение. Через таймер пытался обновить,но отправить так и не понял как.
Если не сложно опиши весь код как это работает. Очень буду блогодарен.