问题标签 [clarion]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
516 浏览

wcf - 垃圾回收后 WCF 中的访问冲突与 COM 对象

我有一个自托管的 WCF 应用程序,其中服务对象(每次调用,单个并发)使用构建在名为 Clarion 的平台上的嵌入式 COM 对象(在整个调用过程中从类中引用)。COM 实例与服务对象一起创建和销毁。然而,他们在下面访问一个需要很长时间来初始化的单例存储库(非常类似于:Startup Code for Loading COM Object for WCF Service)。所以第一次通话很长。因此,我必须在启动时调用它。

如果我在启动时不实例化 COM 对象,一切都很好(除了第一次调用很长)。但是如果我这样做了,在垃圾收集之后,下一个请求将在尝试访问 COM 时因访问冲突异常而崩溃。

服务对象实现IDisposable了所有 COM 对象都使用Marshal.ReleaseComObject. 启动调用还释放 COM 对象。

我的猜测是启动 COM 以某种方式被重用或回收。我不想要它!我能确保它永远死去吗?或者如果不可能,我可以将其标记为不用于垃圾收集吗?显然,GC.KeepAlive这里是无关紧要的,因为这些是不同方法中的不同线程。

更多细节:COM 对象最近支持 MTA。它们是线程安全的和完全并发的,但是在之前,当它们只是 STA 时,没有这样的问题。此外,当这些人在单独的线程中运行时,在 WCF 之外不会发生任何不好的事情。

0 投票
1 回答
762 浏览

development-environment - Clarion 是否可以在 Clarion 窗口中加载网页?

我被要求调查 Clarion 5 是否可以在 Clarion 窗口中加载网页,而不是在单独的 Web 浏览器中。

我已经尝试过使用 CapeSoft 的 OLE 控件和超链接,这些工作在新的 Web 浏览器窗口中打开。

我读过我可以使用 OCX 控件并更改属性以加载网站,但我尝试将 Google 作为示例加载,但它没有加载到我的 Clarion 窗口中,而是加载到单独的 Web 浏览器中。

知道我做错了什么吗?

那是我的代码:

0 投票
1 回答
455 浏览

events - 以编程方式触发按钮单击事件

有没有办法在 Clarion 中以编程方式触发按钮单击事件?我尝试了以下方法,但没有奏效:

0 投票
1 回答
241 浏览

button - 以编程方式设置按钮文本

如何以编程方式在 Clarion 中设置按钮文本?显然我可以使用设计器界面在控件上设置默认文本,但我希望能够更改代码中的显示文本。有没有办法做到这一点?

我已经尝试过以下方法,但没有任何工作甚至编译:

0 投票
1 回答
207 浏览

activex - 有条件地设置 OLE 定义

Clarion中,我希望在窗口中动态设置 OLE 的定义。现在,这就是我在一个窗口中定义两个 OLE 对象的方式:

两个对象都包含相同的方法定义(例如TestMethod),几乎就像它们实现了一个公共接口一样。我目前可以像这样有条件地调用它们:

我想做的只是创建一个对象,然后动态设置控件的定义。我知道还有其他方法可以简化这一点(OCX 包装器等),但根据项目的要求,必须这样做。在某些时候,此代码将从 2 个对象增长到更多对象,这将更加简洁。

如何动态设置控件的定义(MyActiveX.MyActiveXCtrl.1部分)?

0 投票
1 回答
1393 浏览

c# - 从字符串中删除未知的隐藏字符

我有一个接受用户输入的应用程序(用 Clarion 编写),并且该输入被保存到 sql 数据库中。然后这些记录被处理并通过 Web 服务(用 C# 编写)发送到服务器。但有时 Web 服务对包含无效字符且在 sql 中不可见的文本给出错误请求异常。

当我将 sql 字段复制粘贴到记事本 ++ 中时,它会显示“字符”。

无效字符

我们怀疑当用户在输入字段中从 Outlook 复制和粘贴文本时会出现此问题。

我该如何处理这个问题?我不能使用 text.replace 因为我不知道首先要搜索什么。是否有全面删除字符串中的无效字符或转换为纯文本功能?但是回车之类的东西应该保留。一些 uni-code 16 到 uni-code 8 的转换可能吗?

对此有点失落。谢谢

0 投票
4 回答
1312 浏览

cmd - 从 Clarion 隐藏 cmd 窗口

有没有办法在 Clarion 8 中隐藏 cmd 窗口?

我运行 xcopy 来复制应用程序字段中定义的文件,因此它看起来像这样:

Run(' C:\Temp\Temp.tps c:\Bakup\')

也许有一个 cmd 或 Clarion 命令不显示黑色窗口而只进行复制?

0 投票
1 回答
491 浏览

clarion - C# 在 Clarion 中与 OLE 和 COM dll 的集成

我用 c# 编写了一个小的测试 COM dll 并注册了它。我想从 Clarion 打电话给这个。

到目前为止,我有以下代码

我遇到的问题是有一个 testClass_COM 类,而 SayHello 函数实际上位于该类中。如何使用 testClass_COM 类访问函数或在 clarion 中创建对象并以这种方式访问​​函数。

提前感谢您的帮助

0 投票
1 回答
74 浏览

background-process - 必须使用地理编码 API 才能打开浏览器

我正在尝试通过 Google Geocoding API 获取 Lat & Lng。它有效,但是......必须打开浏览器?(发送 Https...comand),有没有办法在我目前正在开发的 Clarion 应用程序的后台发送命令并获取 2 个值(数字)?通过 DOS 命令?

0 投票
2 回答
4256 浏览

sql - 如何在 SQL Server 中将整数日期(5 位)格式化为 yyyy-mm-dd?

我有一个包含整数字段(列)的数据库,名为 fSystemDate、fOpenned、fStatusDate 等……我认为它们代表日期,但我不知道它们的格式。这些字段中的值是:76505、76530、76554、76563。我没有与它们相关的实际日期的示例。

解决了。查看答案。