Преобразование из VB в C# для программы Okuma Lathe

Я должен конвертировать очень очень простую программу из Vb в C#. Vb имеет эти ссылки введите описание изображения здесь

Видя здесь, если я не ошибаюсь, нужно управлять dll. Я добьюсь того же результата, если буду следовать процедуре с программой dumpbin.exe.

Так что все должно быть хорошо. Но когда я это делаю CWorkpiece instance = new CWorkpiece(); Я получаю следующую ошибку

введите описание изображения здесь

который говорит, что соответствующая DLL не в нужном месте. Однако файл является правильным, где это должно быть введите описание изображения здесь

Тем не менее, я подумал, что, возможно, я сделал неправильное расследование, но добавление следующих строк не помогло

    [DllImport("C:\\Temp\\1\\Okuma.CLDATAPI.dll")]
    public static extern int CWorkpiece();

Короче говоря, проблема все связана с той DLL, который не может быть найден Спасибо заранее за любую помощь, Патрик

1 ответ

Обратитесь к разделу "4.5.1.3.3.1 Отсутствует файл библиотеки" в Руководстве по установке THINC API.

Бывшее сообщение

Все приложения, разработанные с использованием библиотек.NET THINC-API, должны включать точную версию библиотек THINC-API с пользовательской установкой. Библиотеки THINC-API, скомпилированные с приложением, должны быть установлены вместе с вашей папкой приложения.

Приведенное выше сообщение об ошибке показывает, что библиотеку THINC-API с именем Okuma.CLDATAPI.dll нельзя найти в папке, из которой запускается приложение.

Решение. Включите библиотеки THINC-API, скомпилированные в вашем приложении, в пользовательскую настройку и переустановите приложение с новой настройкой.

Да, библиотеки THINC API являются управляемыми библиотеками.NET. API команд (CMD) написан на VB, а API данных на VC++. В зависимости от версии API, эти библиотеки написаны на.NET 1.1 или 4.0. Таким образом, вы действительно не должны пытаться Pinvoke их.

Настоящая проблема, с которой вы сталкиваетесь - это попытка запустить вашу программу в среде, в которой не установлен THINC API. Да, у вас есть библиотеки, на которые ссылается ваше приложение, но этого недостаточно.

Библиотеки THINC API имеют несколько зависимостей, в том числе:

  • Okuma.FlexNet.dll
  • Okuma.ApiLog.dll / Okuma.Api.LogService.dll
  • LDATAPI.dll / MDATAPI.dll / GDATAPI.dll
  • LCMDAPI.exe / MCMDAPI.exe / GCMDAPI.exe
  • PIODlib.dll
  • Softswitch.exe

Решение

  1. Получить копию установочного диска API; либо с диска, который поставлялся с машиной Okuma, либо с новой версии через вашего дилера Okuma.

  2. Установите версию разработки THINC API в вашей среде разработки.

Обратите внимание, что вы не сможете Init() или вызовите любые другие функции API, если ваша среда не является одной из следующих:

  • Фактическая машина Okuma с опцией CAPI и установленным THINC API
  • Симулятор "NC-Master", такой как этот: P300A NC-Master Симулятор
  • Или ПК NC-Master, который является полностью программным симулятором.
Другие вопросы по тегам