Статьи Королевства Дельфи


Заключение


Я успешно использую эту технологию в своей работе. DllWizard - по сути тривиальная утилита - была написана, отлажена и локализована (английский и русский интерфейсы) за 3 часа. В настоящий момент она не является инструментом общего пользования; ей присущи некоторые ограничения, так как я писал "под себя", а не "для дяди". Тем не менее, мне не жалко поделиться тем, что есть. Хочу ещё раз подчеркнуть, что ограничения свойственны конкретной реализации, а не идее:

  • Генерируется код только для С++
  • Нет полноценного лексического анализа исходного текста DLL: предполагается, что функции описаны в одну строку вида:
  • __declspec(dllexport) char* Func2(char *s1, char *s2) , где
  • __declspec(dllexport) - без пробелов
  • тип возвращаемого значения - без пробелов
  • после имени функции в скобках следует описание параметров
  • Не поддерживается анализ перегруженных функций в одной DLL: например,
    • void Func()
    • long Func(long lp)
    • Тем не менее, трудно отнести это к недостаткам, т.к. это крайне редкая ситуация

    P.S. Немножко саморекламы:
    компонента TAskDll является составной частью пакета ASK Tools, см. соответствующую ссылку на

    С уважением,
    Кочетов Андрей




    Начало  Назад  Вперед