Подсказка: это может показаться сложным, потому что я пытаюсь дать как можно больше информации, но я подозреваю, что я просто хочу, чтобы кто-то сказал мне «да, вы правы».
Об этомВ устаревшей системе, которая датируется 2002 годом, пользователь посещает веб-страницу и использует считыватель RFID для считывания номера тега, который затем записывается в поле ввода на веб-странице.
Единственное программное обеспечение, котороепоставляется с ридером - это пользовательская DLL, nop .exe.
Очень скудная документация настаивает на том, чтобы использовалась только MSIE и чтобы была отключена вся безопасность, связанная с ActiveX.
Когда я смотрю на источник веб-страницы, я вижу вызовы функций в DLL.
Теперь вот забавная часть: я знаю об ActiveX, мне нужно внести небольшие изменения в DLL *, но * исходный код VB6 потерян, так что я думаю,что я должен воссоздать (казалось бы, очень простую) DLL с нуля - на этой неделе.
Декомпиляция DLL показывает мне функции (locateReader, getTagVal, closeReader).Однако, из-за декомпиляции я не могу знать ни количество, ни тип параметров, ни возвращаемые значения ... и если кто-то знает API, они отказываются делиться им, но в основном все это, кажется, потеряно в туманевремени, когда компании обанкротились, были куплены и проданы, слиты и разделены, и первоначальная DLL могла быть написана внешним парнем, но никто не знает, кто.
Итак, я могу получить параметры функции и типиз источника страницы ASP?
Я вижу такие вещи, как
Reader = new ActiveXObject("<dllName>.Reader");
Reader.locateReader();
tagVal = Reader.getTagVal();
Reader.closeReader();
Итак, я бы сказал, что ни один из fn () не принимает параметры, что closeReader не должен ничего возвращать;похоже, что locateReader тоже ничего не возвращает, поэтому я предполагаю, что обработка ошибок должна быть в DLL (цикл навсегда с всплывающим окном, требующим присоединения читателя; и getTagVal, похоже, возвращает строку.
Звучит ли это правильно? Любые другие комментарии (кроме уроков, которые нужно выучить)?