Мы попробовали реализовать драйвер для контроллера OMRON, воспользовавшись примером из документации на ТМ. В среде Builder 5.0 сделали файл "имя".DLL, внесли соответствующие изменения в файлы конфигурации. После загрузки проекта в РПД почти все кнопки меню, в том числе режим эмуляции оказались недоступными. Предполагаем, что формат файла DLL не соответствует требуемому для ТМ. Вопрос: в какой среде можно разрабатывать драйвер и какие тонкости соблюсти (помимо указанных в документации), чтобы он подключился к ТМ?
Posted by AdAstra Technical Support (Участник № / Member № 4) on :
Для корректной работы разработанных Вами драйверов для ТМ мы рекомендуем использовать только Microsoft Visual C++ версии 6.0 и выше!
Posted by Иван Дмитренко (Участник № / Member № 112) on :
Действительно, использовать Builder для разработки драйверов не получается - функции в DLL офрмляются иначе. Чтобы убедиться, что все в порядке, рекомендую использовать утилиту tdump.exe из того-же Builder'а. Пример: tdump t13.dll >1 <Enter> и в файле "1" смотри (в самом конце) раздел ------------------------------------------- Exports from T13.dll 8 exported name(s), 8 export addresse(s). Ordinal base is 1. Sorted by Name: RVA Ord. Hint Name -------- ---- ---- ---- 000011E0 1 0000 ?t13_close@@YAXXZ 00001110 2 0001 ?t13_fread@@YAHPADAATIA@@AAM@Z 000010B0 3 0002 ?t13_fwrite@@YAHPADAATIA@@M@Z 000011B0 4 0003 ?t13_open@@YAXXZ 00001060 5 0004 ?t13_read@@YAHPADAATIA@@AAM@Z 00001140 6 0005 ?t13_start@@YAXXZ 00001180 7 0006 ?t13_stop@@YAXXZ 00001000 8 0007 ?t13_write@@YAHPADAATIA@@M@Z -------------------------------------------- Это при компановке VC++, а у Builder'a имена функций будут выглядеть "по-нормальному", т.е. как в исходном коде. Таким образом, пользуем VC++ - и все ОК!