Skip to main content
 首页 » 编程设计

c#之Clarion 9 Windows 移动/Web 开发

2024年02月13日29mfrbuaa

你好,我有两个问题:

我目前正在为一个我需要做的项目学习号角。目前我正在研究扫描仪和 clarion 作为 windows 移动应用程序的语言。

我遇到的第一个问题是关于使用来自第三方供应商的 SDK DLL 的 clarion,例如 Opticon 扫描仪 DLL 和普通的 c#.net DLLS,我如何在 clarion 中使用/访问这些 DLL 并在代码中调用它们.我已经进行了大量搜索以寻找有关上述问题的答案,但找不到任何有用的东西。

第二个问题:Clarion 可以通过 Web 浏览器使用普通的 clarion for windows 应用程序,并使用 clarion 提供的应用程序代理和骨架,在 clarion 9 中我创建了一个应用程序来执行此操作,但是在浏览器中创建并运行该应用程序之后我立即在主屏幕上收到由 clarions 自生成代码创建的错误。错误是“Uncaught syntaxError: uncaught syntaxError: uncaught identifier”,来自下面的段,它缺少一个加号。

function icAjaxSubmit(controlValue) 
{ 
    getContent(form.action+"? @"+$('#ClarionForm').serialize()+"&"controlValue+"="+$('#'+controlValue).value); 
} 

问题是我无法在互联网上找到与此相关的任何内容,也无法在 clarion 目录和应用程序目录中找到它生成的文件,而且我注意到它也不在项目代码中。

有人可能知道关于第一个问题或第二个问题的可能解决方案吗?

谢谢 基甸

请您参考如下方法:

首先让我解决这个问题。如果您可以使用号角以外的任何其他语言,请使用它。 Clarion 是一个死胡同的开发平台,它无法扩展以满足企业的需求。 Clarion 本身缺乏很多内置功能,这意味着您要么需要花费数千美元购买第三方工具,要么学习 Windows API,此时您还不如选择 C。更不用说经常使用的第三方工具了times 失去支持并且不会升级以满足更高版本的 Clarion 的需要。

但是,如果您认为有必要使用 Clarion...

回答你的第一个问题。 C# .NET dll,不能由 clarion native 调用,因为 .NET dll 与标准 Windows 非托管 dll 的格式不同。但是您可以通过一些小的修改来访问它们。

最好的情况是,您可以访问 C# dll 的源代码,在这种情况下,您可以修改源代码并实现 Robert Giesecke 的非托管导出包 https://www.nuget.org/packages/UnmanagedExports

使用此包,您可以注释要在 dll 中导出的 C# 库中的特定函数,以便 native 应用程序可以调用它们。

最坏的情况是您无权访问其源代码的第 3 方 C# dll。您可以尝试按照本指南进行操作 http://www.codeproject.com/Articles/37675/Simple-Method-of-DLL-Export-without-C-CLI

你的第二个问题是语法错误的结果,你在此处的代码中缺少连接运算符

"&"控制值

整个调用应该是:

function icAjaxSubmit(controlValue) 
{ 
    getContent(form.action+"?@"+$('#ClarionForm').serialize()+"&" + controlValue+"="+$('#'+controlValue).value); 
}