问题标签 [shared-objects]

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 投票
4 回答
3610 浏览

android - 用于 Tesseract OCR 的“.SO”文件

我需要为我的 Android 应用程序使用 Tesseract OCR(光学字符识别)的“.so”文件。谁能解释我如何获取 Tesseract OCR 的“.so”文件?

我试图导入不起作用的完整项目。

0 投票
1 回答
206 浏览

browser - flash 共享对象不能跨多台 PC 工作

我正在使用 SharedObject 在用户浏览器上保存一些持久性信息(例如访问过的幻灯片等)。例如,如果用户访问了幻灯片,它将突出显示将他们带到该幻灯片的按钮。如果他们关闭浏览器并重新访问该网站,该按钮仍将突出显示。它在我的笔记本电脑上运行良好。但是当我派出给我的 3 位同事进行测试时。其中两个遇到了问题。另一个完全没有问题。

有什么建议么?提前致谢。

0 投票
1 回答
97 浏览

flash - 共享对象语法

在 AS3 中,我想用字符串的内容设置共享对象的键,而不是专门命名键。

我不想写测试我想要这样的东西

这是一个不可能的问题吗?

0 投票
2 回答
136 浏览

c++ - 如何安全地与不同编译单元中的线程共享变量?

在我的程序结构中,我将“调用它的位置”和“完成了什么”划分为单独的源文件。作为实用性问题,这允许我将程序作为独立程序编译或将其包含在 DLL 中。下面的代码不是实际代码,而是一个简化的示例,说明了同样的问题。

这里有 3 个交互组件:加载我的 DLL 的内核模式程序、DLL 及其源文件以及带有它的源的实用程序,它们是单独维护的。

在 DLL 形式中,程序作为线程加载。根据内核模式应用程序供应商的文档,我失去了在内核程序初始化后调用 Win32 API 函数的能力,因此我将线程加载为活动线程(而不是使用 CREATE_SUSPENDED,因为我无法唤醒它)。

我让它监视一个标志变量,以便它知道何时通过一个不优雅但功能强大的东西做一些有用的事情:

最多 1 秒的延迟是可以接受的(整个过程很长,而且很少调用),并且似乎不会影响系统。

在线程源文件中,我将变量声明为

在我声明的 DLL 源文件中

当我准备好执行线程时,在我设置的 DLL 中

我在将 std::string 对象声明为 volatile 时遇到了一些困难,因此我将参数声明为线程源文件中的全局变量,并让 DLL 调用设置器驻留在线程源中。如果我可以随意实例化线程,这些字符串将是参数。

(所有这一切都缺少锁定变量以确保线程安全,这是我的下一个“要做的事情”)

这让我觉得这是一个糟糕的设计......它的功能性但令人费解。鉴于我提到的限制,有没有更好的方法来解决这个问题?

我在想一个可能的修改是使用在线程创建时给出的 LPVOID lpParams 变量来保存指向字符串对象的指针,即使创建线程时字符串是空的,并且直接从线程访问它们,这样完全删除线程程序中的声明、设置器等?如果这可行,那么也可以在那里引用暂停标志,并消除外部声明(但我认为它仍然需要声明为 volatile 以提示优化器)。

如果有任何区别,环境是 Visual Studio 2010、C++、目标平台 Win32 (XP)。

谢谢!

0 投票
1 回答
319 浏览

actionscript-3 - 删除 SharedObject 首选项

我为 Adob​​e Air 应用程序开发了一个 ActionScript 3.0(它将在 Blackberry Playbook 上运行)。

这个应用程序有一些错误,我已经进行了更新。

当用户安装新版本时,我想删除以前的用户数据。

我怎样才能做到这一点?

0 投票
0 回答
570 浏览

android - 如何将 SharedObject Array 数据发送到 PHP WS 以进行 DB 查询 (Flex)

我目前正在使用 Flex 4.5.1 开发 Android 应用程序,但在尝试将存储在 SharedObject 数组中的数据传递给我的 Web 服务以进行数据库查询时遇到问题。下面的代码显示了我如何将数据存储在 SharedObject 中:

我已经测试了 SharedObject 以查看信息是否正确输入,并且一切似乎都很好。现在我使用下面的代码从 SharedObject 中检索数据并尝试将其发送到 PHP Web 服务以运行 DB 查询。

我已经在 Flex 中测试了 Web 服务,并将其配置为接收一个 Int 数组(int[]),并且当我使用两个虚拟值对其运行测试操作时它可以工作。但是,当我尝试使用上面的代码向 Web 服务传递共享对象数据时,我收到此错误:

我已经用 * 替换了某些文件名和位置以保护我正在做的工作,但是有人可以帮我解决这个问题,因为我相信它必须很简单???

谢谢


好的,让我更详细地解释一下。就像我说的那样,这是为 Android 应用程序设计的,但想象一下,我想做的是使用本地共享对象持久存储书签。

您在上面看到的第一块代码旨在为我要创建的书签创建 LSO 属性,并想象在不同时间可以有多个书签集,例如在 Web 浏览器中。我能找到的唯一方法是将这些项目/详细信息存储在我检索的数组中,然后在保存回 LSO 并保存之前进行更新。

第二段代码与想象一个“书签页面”相关,其中包含我收藏的所有内容的列表。现在我想要发生的事情是,我将能够调用保存书签 ID 的 LSO 属性,然后以列表格式加载他们的详细信息。

我设法创建了 LSO 并将书签详细信息存储在其中,并允许更新它们并添加条目。此外,我确保我拥有的 PHP 代码拉回了与 id 数组相关的所有数据库对象,并且已经使用 flex 进行了测试。我似乎唯一不能做的就是将 id 传递给 PHP Web 服务文件。如果有帮助,Web 服务文件中的代码如下:


是的,我已经尝试过了,但是谢谢。我自己取得了一些进步,因为我一直在试验可以存储在 SharedObjects 中的不同类型的对象。我已经设法让解决方案部分使用此代码:

此代码旨在捕获 boomark 信息并将其存储在 arrayCollection 中,然后将其传输到 bytesArray 并保存

下一个代码旨在从 SahredObjects bytesArray 中检索该信息并将其放回数组集合中

但是,正如我所说,这仅以一种很小的方式起作用,就好像我只为一个项目存储一个书签(id)然后转到书签列表,成功检索到该书签的详细信息,但是如果我保存多个书签( 2 个或更多 id)页面不会加载详细信息,我没有收到错误消息,但我相信它挂起,因为它正在寻找说 id 的“1,2”而不是“1”和“2”,但我不知道为什么会这样或如何解决。我很感激我得到的建议,但我发现很难没有人可以帮助我解决这个问题,我不得不对代码进行各种实验。有人可以帮我解决这个问题吗,我将不胜感激:-)谢谢

0 投票
1 回答
3808 浏览

android - 如何从 proguard 中排除 .so 文件?

这是我当前的 Android 项目的 proguard 配置文件:

防止 Proguard 试图弄乱共享对象的正确方法是什么?当我将它们添加到我的项目中时,我目前遇到错误,并尝试导出应用程序:You should check if you need to specify additional program jars.在我添加-libraryjars它给我的行之后:java.io.IOException: Can't read [proguard.ClassPathEntry@56f0474c] (No such file or directory)。我将如何修复我的 Proguard 配置文件?

0 投票
1 回答
83 浏览

actionscript-3 - 管理信息亭保存的数据

我正在构建一个信息亭,现在客户希望信息亭保存用户对页面的点击次数。我被告知在第一次使用共享对象时对其进行初始化,然后增加共享对象页面的点击次数。然后您可以制作另一个应用程序来显示结果。

由于我以前从未见过这样做,任何人都可以提供任何建议或链接来说明如何做到这一点?请编写基本脚本,不要使用 flex 或 OOP。

0 投票
0 回答
172 浏览

c# - 是否有一个控制台窗口打开并且我正在与它交谈?C++ /C#、Windows 和 Linux

我一直在将嵌入式 C++ 应用程序开发为在 Linux(Ubuntu 11.04)和 Windows(XP)上运行的 DLL/SO(“C”外部)。因此,我不知道我的调用者应用程序是否正在运行 GUI、控制台或两者都不运行。我相信 stdout 和 stderr 在没有连接到它们的控制台时指向位桶,因此仅写入 cout 或 cerr 是无害的,尽管我想知道输出是否真的位于页面文件/交换文件浪费空间的某个位置。

所以我目前的想法是让调用者程序给我一个回调函数(地址)并让该函数看起来像 (void)(*)(void *) 其中 (void *) 指向调用者程序中定义明确的结构我可以在哪里写错误/状态/任何信息。我以前在 C 和 C++ 中做过类似的事情,但我知道我至少会有一个 C# 调用者。C# 可以给我这样的回调吗?它/我读取对方可能写入的数据会有什么困难吗?

或者,我可以弹出一个控制台并向其写入消息。有人可以告诉我该怎么做吗?

我看着在 Windows 中弹出一个消息框,这是一件很痛苦的事情。没看linux。有人有使用 char* 或 std::strings 的示例,而不是 windows 所需的任何数据类型?

FWIW,我们的架构说没有文件,没有共享内存,没有命名管道,也没有用于消息传递的套接字。请记住,作为一个程序,我不知道可写文件的位置,无论如何我都无法可靠地写入文件。正如我所做的那样,某些系统操作肯定会禁用用户对我选择的任何地方的写入。我必须依赖用户将可访问的文件路径和文件名传递给我。

有人可以评论我的情况和想法吗?

非常感谢,

韦斯

评论:如果我理解正确,您是否找到了一种从 C++ DLL 库中记录错误/状态/调试消息的合适方法?而且由于您不了解 DLL 使用者的类型(C/C++ 控制台、C# GUI、..),您不确定是否可以写入标准输出?– m3rLinEz 1 小时前

嗯,不完全是。我想确认在没有控制台时写入 sdtout/stderr 会将输出发送到任何地方并且它不会使交换文件膨胀。我想这意味着无论我的消费者如何都可以写入标准输出。

它的真正含义是,您能否指出我可以用来演示将外部“C”DLL 附加到 C# 程序并让程序设置回调和变量/结构/等的示例代码。并将其地址传递给DLL,然后DLL可以将数据写入var/struct/etc。并调用回调。W。

0 投票
2 回答
136 浏览

c++ - 使用来自共享对象的应用程序对象

我现在有点困惑。昨天我有未定义的符号,即使我将 -rdynamic 与 g++ 一起使用。但现在我没有任何错误,这更令人不安。

为了解释一下我的情况,我想做一些像共享对象这样的插件。我还没有决定哪种方法最好。

A)我的共享对象都有一个名为 register 的函数,该函数将使用参数调用。这将是一个插件管理器。

B)我的共享对象将定义一个类,并将在加载时创建该类的实例。在该类的构造函数中,它将尝试从应用程序中获取静态单例并自动注册自己。

据我所知,到目前为止,我的第一次尝试并不是那么好。

主文件

主文件

二.cpp

在该示例中, S::shared 是我要共享的静态对象。对于这个简单的测试,我只使用一个 int 但在未来它将是一个类的实例。

我对案例 A) 的唯一尝试是段错误......我真的不知道我错过了什么。

//到目前为止的结果(今天)