1

我必须将一个非常简单的程序从 Vb 转换为 C#。Vb有那些参考 在此处输入图像描述

从这里看到,如果我没记错的话,那些应该是托管的 dll。如果我按照此处的过程使用 dumpbin.exe 程序,我将获得相同的结果。

所以一切都应该没问题。但是当我这样做时,CWorkpiece instance = new CWorkpiece();我收到以下错误

在此处输入图像描述

这表明相关的 dll 不在正确的位置。但是文件是正确的 在此处输入图像描述

也就是说,我认为也许我做了错误的调查,但添加以下几行并没有帮助

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

所以简而言之,问题都与那个找不到的dll有关提前谢谢你的帮助帕特里克

4

1 回答 1

1

请参阅THINC API 安装手册的“ 4.5.1.3.3.1 缺少库文件”部分。

前消息

使用 .NET THINC-API 库开发的所有应用程序都需要在自定义安装中包含精确版本的 THINC-API 库。使用应用程序编译的 THINC-API 库应与您的应用程序文件夹一起安装。

上面的错误消息表明,在运行应用程序的文件夹中找不到名为 Okuma.CLDATAPI.dll 的 THINC-API 库。

解决方案:将在您的应用程序中编译的 THINC-API 库包含在您的自定义设置中,并使用新设置重新安装您的应用程序。

是的,THINC API 库是托管的 .NET 库。命令 (CMD) API 用 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
  • 软开关.exe

解决方案

  1. 获取 API 安装光盘的副本;可以从 Okuma 机器随附的光盘中获取,也可以从 Okuma 经销商处获取新版本。

  2. 在您的开发环境中安装 THINC API 的开发版本。

Init()请注意,除非您的环境是以下之一,否则您将无法或调用任何其他 API 函数:

  • 安装了CAPI 选项和 THINC API的实际 Okuma 机器
  • 像这样的“NC-Master”模拟器:P300A NC-Master 模拟器
  • 或者是一个全软件模拟器的PC NC-Master。
于 2018-04-05T13:01:51.157 回答