Как понять принцип работы dll

Тема в разделе "WASM.BEGINNERS", создана пользователем prozs, 11 ноя 2010.

  1. prozs

    prozs New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2008
    Сообщения:
    4
    Хочется разобраться с нуля в этом вопросе.
    Подскажите где можно почитать и с чего начать писать свой plugin для определенного софта.

    в виде

    file.dll
    file.dll.cfg
     
  2. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    определись сначала, как твоя программа будет общаться с плагином, продумай структуру, запросы и ответы. Потом пиши плагин
     
  3. prozs

    prozs New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2008
    Сообщения:
    4
    У программы есть автор, чтобы человека не отвлекать лишний раз, решил "попробовать" разобраться самостоятельно.

    Программа с плагинами общается 100%, к ней есть несколько плагинов.
    Как именно общается программа с плагинами, поинтересуюсь.

    в чем заклучается "структура"?
    запросы впринципе есть, и ответы я знаю какие хочу получить от плагина.
    Какими программами стоит вооружиться?
     
  4. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    ну структура запроса. Вот работает программа. Что-то вдруг произошло (пользователь нажал на кнопочку, свернули окошко, что-то где-то ввели и т.д.). Как программа об этом сообщает каждому плагину? Какую функцию в плагине вызывает, какие параметры передает. Как выглядят эти параметры? Это указатели на структуры или что-то другое? Потом, что ожидает услышать программа от плагина? наверняка ожидается какой-то ответ. То же самое по ответу - его структура, содержание и т.д.

    Без знания полного протокола общения программы и плагинов у тебя ничего не получится. Все равно придется задалбывать автора

    то, на чем программируешь, и отладчик. Больше ничего
     
  5. prozs

    prozs New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2008
    Сообщения:
    4
    В целом более-менее проясняется что к чему, спасибо.

    А есть ли еще литература по данной теме?

    Знаю что в гугле есть, может кто поточнее направит с чем стоит ознакомиться.
     
  6. MSoft

    MSoft New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2006
    Сообщения:
    2.854
    Какая литература? Как писать плагины? Не думаю. Каждый пишет, как ему удобно. Тем более, если софт не твой, то никакая литература тебе не поможет - ты вынужден использовать тот протокол, который есть в программе
     
  7. EvilsInterrupt

    EvilsInterrupt Постигающий азы дзена

    Публикаций:
    0
    Регистрация:
    28 окт 2003
    Сообщения:
    2.428
    Адрес:
    Russia
    prozs
    Архитектура ПО построенное на плагинах можно сравнить с "отделом", где есть "руководитель" и "подчиненные". Грубо говоря, руководитель это приложение, плагины это подчиненные. Плагин, это способ сказать "вот я новый подчиненный, я могу делать .... если вдруг произойдет .... то давай я это сделаю по уму и быстро" и только! Вероятно руководитель делит подчиненных на виды, ктото секретарша, ктото программист, а ктото менеджер по чему-нить там!
    В программе основанной на плагинах точно также. Программа может делить плагины на типы, к примеру в случае тотал-коммандера это "файловый", "архивный", "контентный" и др. К примеру у всех торчит функция Init() куда передается структура говорящая плагину информацию о приложении, а дальше к примеру для каждого типа плагина свои специфичные к примеру FileTypeProcess(), ArchiveTypeProcess().

    Возникают вопросы:
    1) какой должен быть код? (мультитрэдность к примеру)
    2) какую информацию нужно предоставить приложению?
    3) какую информацию мы можем получить от приложения?
    4) как информировать приложении о проделанной работе? Возникшей ошибки? Аварийном АХТУНГЕ ?
    5) Как приложение нам сообщает что чтото там произошло? Какие виды событий и нотификаций?
    6) Не маловажный пункт и "если накладывают протектор или еще чтото, то как это может коснуться мой плагин?"

    вопросов не мало, лучше всего представить что ты подчиненный(плагин) и тебе нужно работать с руководителем(приложением) как все это происходит?
     
  8. prozs

    prozs New Member

    Публикаций:
    0
    Регистрация:
    3 дек 2008
    Сообщения:
    4
    EvilsInterrupt
    Очень все четко друг расписал.

    Принцип работы я поидее понимаю, но сделать его не так-то просто без углубления, при том что еще и не сталкивался с такими вещами, еще конечно же с автором буду общаться, а тут для себя выводы делаю.

    нет-нет вопросы буду задавать по мере углубления по теме.

    Спасибо за понимание и ответы.
     
  9. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Начать надо со скачивания SDK к "определённому софту", чтения документации и компиляции примеров.