Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 19.07.2009, 15:07   #1
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
Стрелка Помогите реализовать плагины...

Даже не знаю с чего начать... у меня есть програма, управляет компьютером через icq (открытие/закрытие сидюка, запуск приложений, выкл/рестарт кампа и т.д.)... Как можно уже в скомпилированую програму добавить новые функции? Всмысле добавить, например, текст (на который и будет выполняться функция(она будет считываться с приходящего сообщения)) и название функции (dll я так понимаю)... Но я даже примерно не знаю как это реализировать... Прошу помочь мне в этом деле.
W0LF вне форума Ответить с цитированием
Старый 19.07.2009, 15:12   #2
The Best
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 50
По умолчанию

У меня та же самя проблема.. Только у меня проще. А что тебе посоветовать?.. Есть одна идея..

1 пример: Закидываешь все свои функции в DLL, а в основной программе пишешь функцию, которая эту DLL грузит и вызывает процедуру (функцию) которая будет определять, что делать дальше. Только этот пример не очень удобный. А обновление будет заключаться в замене уже существующей DLL новой
2 пример: Качаешь программу-патчер и потом просто клепаешь плагины для своей программы и устанавливаешь потом..
The Best вне форума Ответить с цитированием
Старый 19.07.2009, 15:15   #3
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

не, суть в том, что надо новые добавлять а не заменять старые... нада расширивать функционал...
W0LF вне форума Ответить с цитированием
Старый 19.07.2009, 16:20   #4
856100
Форумчанин
 
Регистрация: 12.08.2008
Сообщений: 135
По умолчанию

Можно попробовать так:
Создаешь в длл функцию со строковым параметром.
В этой функции реализуеш провергу этой строки, и если надо выполняешь действие. А в основной проге ищеш все длл, которые в папке с прогой и подключаеш их. (динамическое подключение длл много раз обсуждалось на форуме).
Будь проще, бери пример с одноклеточных
856100 вне форума Ответить с цитированием
Старый 19.07.2009, 16:26   #5
The Best
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 50
По умолчанию

Так ты в новых DLL будешь добавлять функции к уже существующим..
The Best вне форума Ответить с цитированием
Старый 19.07.2009, 16:39   #6
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

так вот проблема: например...
есть команда "!msg: " следующий текст надо использовать в функции//я использую
Код:
copy(msg,7,length(msg))
но ведь при смене текста с "!msg: " на "!сообщение: " изменяеться количество символов с которого начнеться копироваться текст в функцию... и будет косяк
W0LF вне форума Ответить с цитированием
Старый 19.07.2009, 16:41   #7
The Best
Пользователь
 
Регистрация: 17.12.2008
Сообщений: 50
По умолчанию

Моя твоя не понимать..
The Best вне форума Ответить с цитированием
Старый 19.07.2009, 16:47   #8
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

пример: я пишу боту "!msg: харе сидеть за кампом, выключай!!!"
если во входящем сообщении первое слово "!msg:" бот берет всю фразу и отделяет текст с 7 символа тоесть "харе сидеть за кампом, выключай!!!" и добавляет его в ShowMessage(copy(msg,7,length(msg)) ); и приходит сообщение с этим текстом... но если кто-то изменит эту команду на "!сообщение: " то будет косяк, так как будет браться еще и кусок текста команды: "ние: харе сидеть за кампом, выключай!!!" - и это косяк!
W0LF вне форума Ответить с цитированием
Старый 19.07.2009, 16:49   #9
W0LF
Форумчанин
 
Аватар для W0LF
 
Регистрация: 28.03.2008
Сообщений: 940
По умолчанию

еще одно: а как вызвать процедуру из dll если название процедуры совпадает с именем файла... например процедура sm, а файл sm.dll ?
W0LF вне форума Ответить с цитированием
Старый 19.07.2009, 17:23   #10
Dj_smart
Капсула от спама
Форумчанин
 
Аватар для Dj_smart
 
Регистрация: 04.03.2008
Сообщений: 779
По умолчанию

Ну, могу посоветовать отталкиватся от ":"
Код:
str:='!msg: харе сидеть за кампом, выключай!!!';
command:=copy(str,2,pos(':',str)-1); // содержит 'msg'
comvalue:=copy(str,pos(':',str)+1,length(str)); // содержит все после ':'
А дальше сам копай.. подключай либу в зависимости от типа комманды
Если данный ответ не столь конкретен, как Вы желаете его увидеть, возможно необходимо поразмыслить, стоит ли вопрос того, чтобы о нём спрашивать на форуме?
CncFiles.ru - бесплатный файловый хостинг
Dj_smart вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Плагины dani92 Общие вопросы Delphi 3 17.04.2009 15:05
Как реализовать плагины в Дельфи Лубышев Общие вопросы Delphi 3 20.02.2009 15:41
Плагины к программе. Dr.Badnezz Общие вопросы Delphi 2 20.02.2009 15:40
Помогите реализовать mental Помощь студентам 0 07.01.2009 01:17
Помогите реализовать ReacXX Общие вопросы Delphi 3 26.05.2008 08:56