问题标签 [objectscript]
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.
intersystems-cache - 对象脚本是否支持多重继承?
我是缓存新手,发现与普通 oop 概念不同的东西。在对象脚本中,一个基类可以从多个子类继承(继承顺序可以是左/右)。如果 objectscript 是 oop,我不知道缓存如何支持这一点(不太可能其他编程语言)。
基类
儿童1班
儿童班 2
输出
我在 Inheritance.TheChildClass
我在继承.TheChildClass1111111111
intersystems-cache - ObjectScript Library.FileBinaryStream 转换成字符串
如何从二进制流创建字符串 a?我尝试了 StreamGet 和 OutputToDevice 类方法,但没有返回字符串。我应该使用另一个课程吗
谢谢 :)
rest - 无法在 REST 中设置 http 标头的内容类型
无论我设置什么,以下请求始终采用默认内容类型。我设置为 application/xml,但它仍然是 application/json。但是,当我通过 Postman 调用服务时,这个问题就不存在了。
zw objHTTPRequest -> 无内容类型集
intersystems-cache - Intersystems Objectscript,具有非持久属性的持久类
我们可以在持久化类中创建非持久化属性吗?只需不要使用 %Save() 保存属性(列)
intersystems-cache - 访问缓存 Objectscript 中的实例变量
我有一个例程,我使用反射动态实例化持久对象。当我尝试使用反射 ($Property) 对其进行实例化时,该对象的属性之一(也是持久对象)失败。它失败,因为该属性已从数据库中删除。这是有道理的,但我似乎无法获得该属性的 ID (23)。当我 ZWrite 对象时,我可以在打印输出中看到属性 id。
我无法弄清楚如何访问 i%ProdID 值。如果有人可以提供帮助,我将不胜感激。
我正在使用递归来获取对象的属性和每个属性的后续属性(如果它们具有持久性)等等,但是如果属性实际上没有持久化(以某种方式被删除),我仍然想获取 id . 我曾考虑过使用 sql,但如果可能的话,我想远离它。
javascript - 无法从系统间缓存服务器方法设置变量值
我在使用 Javascript 进行系统间缓存服务器页面时遇到了一个问题。
这是我的示例代码:
情况1:
在这种情况下,当test1()
调用函数时,value = 0,它是一个局部变量。
案例二:
在这种情况下,当test1()
调用函数时,val = 50 并且 value 现在是一个全局变量。
所以我的问题是:
- 如何通过缓存服务器方法成功设置案例 1 中的值?
- 为什么缓存服务器方法可以在 Javascript 中声明全局变量但不能为变量设置值?
intersystems-cache - 意外的 SQL 错误返回在系统间缓存中
问题
我正在通过缓存 ODBC 驱动程序从 Intersystems 缓存数据库中导出数据。有一个特定的表给了我一条错误消息。ODBC 驱动程序崩溃并从缓存系统报告错误。我想我能够追踪错误的来源,但我不知道如何调试或修复错误。
我要提取的表称为SEDMIHP
.
这是错误:
研究/试错
我能够打开 Cache Management Studio 并找到与表名匹配的类。我应该提到这是我第一次使用 Intersystems Cache,所以如果我在这里听起来很愚蠢或缺乏经验,我深表歉意。
在 中SQLMap
,我发现了这段代码:
我认为这里的代码引起了问题。由于我对 ObjectScript 的理解非常有限,我认为这段代码正在操作文本/字符串,并且如果数据中存在未定义或错误的值,是否会导致这些函数抛出错误?
我对缓存管理门户的访问权限有限,并且能够在 SQL 架构中找到该表并对其运行查询。在出现与上述相同的错误之前,大约加载了 300 行数据,并且它停止加载更多行。这就是为什么我认为存在不良数据的原因。
我尝试在 SELECT 语句中使用ISNULL()
andIFNULL()
来尝试跳过任何错误数据,但每次都在同一个位置出现相同的错误。
问题
- SQL 方面是否有一个简单的解决方案可以避免这个错误?
- 我可以使用 Studio 中的类代码来调试或获取有关此错误的更多信息吗?
非常感谢任何和所有帮助!
附加信息
缓存版本:Cache for OpenVMS/IA64 V8.4 (Itanium) 2012.1.5 (Build 956 + Adhoc 12486) 17-APR-2013 19:49:58.07
javascript - 缓存服务器页面 (CSP) 中的缓存变量范围
我正在尝试在 CSP 中存储临时数据。
由于并发问题,我尽量避免使用 ^Global 和 %session,并且由于安全问题而避免使用 Javascript 变量。
然后我遇到了困惑。以下代码都在一个 CSP 中:
在页面加载期间,警报返回
test
为“1”而不是“2”。这里发生了什么?还有其他更好的方法可以将此类数据存储在 CSP 中吗?
file - 如何在系统间缓存中使用 %Net.MailMessage 添加两个或多个文件附件?
我试过这个:
我想添加两个或更多附件。但它根本不起作用......提前谢谢你!
intersystems-cache - 不创建 %iFind.Index.Basic 类索引的动态 iFind 索引
我正在尝试使用%iFind.Index.Basic制作通用文本搜索功能。
根据iFind 搜索工具文档,必须在类中创建 iFind 索引,如下所示:
但这仅适用于一个类中的一个字段。
如果要普遍使用 iFind 搜索功能,那么需要索引大量的字符串字段,这样既消耗内存又不实用。
无论如何都可以根据需要动态进行 iFind 索引而不需要更改类,并且仍然可以使用##Class(%ResultSet)进行查询?
在文档中,它还提到了 Indexing a JSON Object,但没有给出示例。这是我应该更多探索的地方吗?