Программа Delphi, генерирующая неверный CRC16, хочу воспроизвести поведение в C #

Я унаследовал приложение Delphi, которое мне нужно преобразовать в приложение C # на работе.

Одна часть использует функцию CRC16 во внешней DLL для создания контрольной суммы для некоторых данных. Проблема в том, что этот сгенерированный CRC не соответствует ни одному из CRC, которые удалось сгенерировать где-либо еще.

Я пробовал около 10 различных фрагментов кода CRC, которые нашел в Интернете, и пробовал несколько онлайн-генераторов. CRC, которые я генерирую, совпадают с теми, которые я генерирую онлайн, например, по адресу -

http://www.lammertbies.nl/comm/info/crc-calculation.html

Итак, мой единственный вывод теперь состоит в том, что приложение Delphi не генерирует действительную контрольную сумму CRC16. Это оставляет мне два варианта

1] Попытаться выяснить, какой тип CRC он генерирует

2] Каким-то образом вызвать функции в DLL изнутри C #

Я пробовал оба и потерпел неудачу.

-

Весь исходный код находится на github -

https://github.com/delphi2sharp/delphisharp/blob/master/CRC16Test/CRC16Test/Program.cs

https://github.com/delphi2sharp/delphisharp/blob/master/CRC16Test/CRC16Test/Program.cs

https://github. com / delphi2sharp / delphisharp / blob / master / DelphiCRC16Test / Unit1.pas

, а также CRC.DLL.

-

Любая помощь будет принята с благодарностью.

Спасибо

0
задан NoPyGod 14 February 2012 в 01:58
поделиться