Преобразование из 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
Решение
Получить копию установочного диска API; либо с диска, который поставлялся с машиной Okuma, либо с новой версии через вашего дилера Okuma.
Установите версию разработки THINC API в вашей среде разработки.
Обратите внимание, что вы не сможете Init()
или вызовите любые другие функции API, если ваша среда не является одной из следующих:
- Фактическая машина Okuma с опцией CAPI и установленным THINC API
- Симулятор "NC-Master", такой как этот:
- Или ПК NC-Master, который является полностью программным симулятором.