嗨,我有2个问题:

我目前正在为我需要做的项目学习澄清。目前,我正在寻找扫描仪和clarion作为Windows Mobile应用程序的语言。

我遇到的第一个问题是有关将clarion与第三方供应商提供的SDK DLL(例如Opticon扫描器DLL和常规c#.net DLLS)一起使用的方法,如何在clarion中使用/访问这些DLL并在代码中调用它们。我已经做了大量的工作来寻找有关上述问题的答案,但找不到任何有用的方法。

第二个问题:Clarion可以通过Web浏览器使用clarion提供的应用程序代理和框架对Windows应用程序使用普通的clarion,在clarion 9中,我创建了一个应用程序,但是在浏览器中创建并运行该应用程序后,我立即收到了clarions自生成代码在主屏幕上显示的错误。错误是以下缺少加号的部分中的“未捕获的语法错误:意外的标识符”。

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


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

是否有人可能对第一个问题有所了解或对第二个问题可能有解决办法?

谢谢
基甸

最佳答案

首先让我解决这个问题。如果您可以使用除clarion之外的任何其他语言,请执行此操作。 Clarion是一个死胡同的开发平台,无法满足企业的需求。就其本身而言,Clarion缺少很多内置功能,这意味着您要么需要花数千美元购买第三方工具,要么需要学习Windows API,此时您还不妨使用C。更不用说经常使用第三方工具了时代失去支持,将无法升级以满足Clarion更高版本的需求。

但是,如果您确定必须使用Clarion ...

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

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

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

最坏的情况是,这些是您无法访问源代码的第三方C#dll。您可以尝试遵循本指南http://www.codeproject.com/Articles/37675/Simple-Method-of-DLL-Export-without-C-CLI

第二个问题是语法错误导致的,您在此处的代码中缺少串联运算符

"&"controlValue

整个调用应为:

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

关于c# - Clarion 9 Windows移动/Web开发,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22017138/

10-10 18:13