问题标签 [ownership]

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 投票
2 回答
4283 浏览

multithreading - 生成和管理后台线程的惯用 Clojure 方式

什么是惯用的 Clojure 方法来创建一个在后台循环的线程,对某些共享引用进行更新并管理其生命周期?我发现自己正在future为此使用,但感觉有点像黑客,因为我从不返回有意义的值。例如:

future-cancel另外,当不再需要后台处理时,我需要注意这一点。关于如何在 Clojure/Swing 应用程序中编排它的任何提示都会很好。JComponent例如,添加到我的 UI 中负责在窗口关闭时终止线程的虚拟对象可能是一个想法。

0 投票
1 回答
65 浏览

rss - 有没有办法验证一个人拥有/控制一个特定的 RSS 提要?

我有一个项目,我希望能够从他们的博客或其他内容生成源监控用户的 RSS 提要,但我需要以某种方式验证他们确实拥有 RSS 提要,而不仅仅是指向其他人的博客或内容。有没有办法在提要本身上执行此操作,例如提要<meta>中的部分?我的另一个想法是强制该人验证托管提要的域或站点的所有权。

0 投票
1 回答
275 浏览

validation - 如何验证网站的所有权?

我想创建一个标签以允许用户声明其网站的所有权。

我将如何获得标签并将其与我生成的标签进行匹配。

标签格式为<!--tag-->

如果我能够使用获取 html,我将如何验证此标签file_Get_contents("url");

0 投票
2 回答
614 浏览

php - php apache文件所有权和创建问题

我正在尝试在我的代码中将文件重命名为另一个名称。然而,似乎有一些所有权/权限问题正在阻止它正常工作。

这是我的(简化的)代码:

这些是我尝试更改的文件的权限:

代码:

这段代码可以正常工作,当 apache 是文件的创建者时,它似乎可以工作。但是,当我将所有权更改为“apache”时,它停止工作。PHP/Apache 是否有知道文件创建者是谁的概念?这会阻止 rename() 工作吗?

我现在被这个难住了 - 感谢任何帮助。

谢谢,皮科

0 投票
2 回答
594 浏览

c++ - 适当使用shared_ptr?

没有经验,shared_ptr<>我想知道以下是否是一个合适的用例,以及返回shared_ptr<>给用户是否是个好主意。

我有一个类似图形的结构,节点之间有多个连接。在图的遍历过程中,每个节点都被分配了一个值(从连接的节点计算),我希望用户能够轻松访问该值。整个事情看起来(非常简化)是这样的:

用户调用:

这样做的好处是用户可以直接访问他关心的节点(依赖关系通常是无趣的)。但我不能 100% 确定这是否是一个好主意。

感谢您的输入!

编辑:没有循环依赖。

0 投票
2 回答
357 浏览

c++ - 使用新位置转移对象所有权

我有一个 Visual Studio 2008 C++ 项目,其中有一个类管理无法复制的资源。我已经实现了按引用结构传输的语义(ala std::auto_ptr)。

不幸的是,当我将此模式与使用placement-new 的库一起使用时,我得到一个编译器错误:

例如:

我怎样才能修改Test它以便它可以与放置 new 一起使用并且仍然保留它的所有权语义?

谢谢,保罗

0 投票
0 回答
1133 浏览

debugging - 由 UiLoader 加载的 Ui 文件,但指向自定义小部件的 NULL 指针

我正在使用 Qt 4.7.0 和 windows7,我对自定义小部件有一个巨大的问题,我创建了 QLed 自定义小部件,我使用它。

我想向 QLed 小部件添加信号属性,并且在设计时使用 QtDesigner 我想在我的 Ui 文件中添加 100 个 QLed,并将每个 QLed 的信号属性设置为一个数字(信号属性的类型不重要),所以我想访问这 100 个 QLed,当我编码并制作 QList 并访问这些

现在我想向 QLeds 发送数据

现在它将在 SIGNAL_PROPERTIES == 123 的所有 QLeds 上

我的理论和方法不正确还是我可以用其他方式做?我一步一步地写了我的问题我改变了 dialog.cpp 和 cunstructor Dialog::Dialog(QWidget *parent) : 和 *.pro 文件我附上了我的测试程序。谢谢。

*。轮廓:

** 对话框.cpp

我复制了 qledplugin-build-desktop\release 文件夹文件:qledplugin.dll、libqledplugin.a、moc_qled.cpp、moc_qledplugin.cpp、qrc_qled.cpp、moc_qled.o、moc_qledplugin.o、qled.o、qledplugin.o、qrc_qled。哦,

至:

,我可以用 QtDesigner 设计一个 Ui 对话框并放置 QLeds 和 QLabels,一切都很好,我也可以使用其他小部件。之后,我想在我的程序中显示这个 Ui 文件,我正在使用 UiLoader,我在 QWidget 对象中加载 Ui 文件 QWidget *formWidget = loader.load(&file, this); 和 .show() 它,在编译时我在 1) 构建问题选项卡中收到此警告:

但我的程序工作。一切都很好,我设计的文件正在加载。我使用这个命令:

我可以在 3) 应用程序输出选项卡中看到:

所以我可以看到 formWidget 子项,其中包含我的自定义小部件的 QLeds。

现在我需要将数据发送到我的 QLeds 和 QCheckBoxs,我制作了一个 QList 并尝试一下:

我得到:

它显示了 4 个 QCheckBox

现在我尝试自定义小部件:

我得到:

我的大问题在这里:allQLed.size() 为零,我得到空指针

如果我添加带有编码的 QLed 小部件,我没有问题,但我需要 QtDesigner。

我在 Q3Frame 上对此进行了测试,它是 QtDesigner 中的一个自定义小部件插件,并且存在同样的问题。

为什么会发生这种情况,我该怎么办?Qt不能这样做吗?

提前谢谢干杯

0 投票
1 回答
3063 浏览

c# - 从 toolstripmenuitem 获取 contextmenustrip

我使用Owner, OwnerItem, 还是Container属性?

如果ToolStripMenuItem是另一个 tsmi 的成员,而后者又是另一个 tsmi 的成员,等等怎么办?

这样做的目的是能够添加一个事件处理程序,该处理程序可以获取TreeViewthat has the ContextMenuStripthat has that ToolStripMenuItem

稍微抽象一下,有没有一种通用的方法可以找到控件的所有者,直到找到您感兴趣的那个?只是投射和希望?

0 投票
1 回答
5269 浏览

c# - 通过工具条菜单事件处理程序获取控件(treeView)

类似于这个问题: get contextmenustrip from toolstripmenuitem

除了现在我需要找到ToolStripMenuItem单击时打开其上下文菜单的对象。

SourceControl, Parent, Owner, 和GetParentControl()都返回 null。

最初我有一个TreeView,它的ContextMenuStrip属性被设置了。

这是我的初步代码:

我得到的ContextMenuStrip不正确吗?为什么SourceControlcms 的属性在 OpenHandler 中有效,但在事件处理程序中无效ToolStripMenuItem

Form1.Designer.cs:

Form1.cs:

程序.cs:

不幸的是,我不知道任何上传文件的方法。我尝试将它们作为imgs上传,但没有奏效。

0 投票
1 回答
403 浏览

linux - Linux:在挂载“外部”分区时模拟/屏蔽用户所有权?

这是我的问题:我的 Ubuntu 系统上有一个分区,我们称之为它myhdrive,它不会在启动时自动安装(所以我使用磁盘安装程序小程序或 Nautilus 手动安装它)。挂载后,在 Ubuntu 中列出此分区如下所示:

现在,假设我关闭了 Ubuntu 操作系统 - 假设从同一台机器上的 USB 密钥启动 OpenSUSE。该myhdrive分区将不再自动挂载,然后我必须手动挂载它(再次从那里的文件管理器)。问题是,当在 OpenSUSE 下挂载时,同一个驱动器会显示以下列表:

显然,myusername在 Ubuntu 系统中有 1000 的 uid,并且可以识别它 - 而在 OpenSUSE 系统中不存在相同的用户名,因此不会用文件名替换 uid。

当然,问题是我无法myhdrive从 OpenSUSE 写入默认值——我首先必须写入chown整个分区——然后,当我回到 Ubuntu 系统时,我必须chown再次将其写入。

我很清楚,使用 GUI 工具这是不可能的——但是有没有一种方法或命令行开关,这样我就可以“伪造所有权”:以这样的方式安装这个分区,即uid1000 的真实值是在 USB 启动的情况下解释为“当前登录的用户”(包括,当“当前登录的用户”对分区进行写入时,它们被记录在 1000 的 uid 下)?

提前感谢您的任何答案,
干杯!