小编Kra*_*rab的帖子

函数内部函数定义

如果我有代码:

function A() {

  function B() {

  }

  B();

}

A();
A();
Run Code Online (Sandbox Code Playgroud)

是每次调用A时都解析并创建B函数(这样可以降低A的性能)?

javascript

6
推荐指数
1
解决办法
112
查看次数

QMetaProperty :: read:无法处理未注册的数据类型'TreeItem <InspectorItem>*'

Qt不允许注册类模板?

我的班级层次结构是

TreeItemTemplateBackend : public QObject

template<typename T>
TreeItem : public TreeItemTemplateBackend
Run Code Online (Sandbox Code Playgroud)

这是我在qml注册的内容:

qmlRegisterType<InspectorItem>("ge.gui", 1, 0, "InspectorItem");
qmlRegisterType<TreeItemTemplateBackend>("ge.gui", 1, 0, "TreeItemTemplateBackend");
qmlRegisterType<TreeItem<InspectorItem>>("ge.gui", 1, 0, "TreeItem");
Run Code Online (Sandbox Code Playgroud)

我仍然收到此错误:

QMetaProperty :: read:无法处理TreeItem<InspectorItem>*属性'Inspector :: root'的未注册数据类型

Inspector :: root是:

Q_PROPERTY(TreeItem<InspectorItem> * root READ root NOTIFY rootChanged)
Run Code Online (Sandbox Code Playgroud)

c++ qt qml

6
推荐指数
1
解决办法
1万
查看次数

PhpStorm - 如何关闭自动花括号插入

目前,我正在使用PhpStorm进行JavaScript编程(React框架).在React中,添加了一个名为JSX的特殊语法糖,它允许将HTML插入到JavaScript代码中.但是当我插入一些特定的JSX时,phpstorm出错了,所以当我按Enter键转到下一行时,它会插入额外的不需要的东西{.有什么办法,如何抑制这种行为?

javascript phpstorm reactjs react-jsx

5
推荐指数
1
解决办法
1681
查看次数

libuv - 如何停止在另一个线程中运行的tcp服务器

例如,我有2个线程.我想从主线程(线程1)停止服务器.

主题1:主程序

线程2:TcpServer

来自libuv库:

/*
 * This function will stop the event loop by forcing uv_run to end
 * as soon as possible, but not sooner than the next loop iteration.
 * If this function was called before blocking for i/o, the loop won't
 * block for i/o on this iteration.
 */
UV_EXTERN void uv_stop(uv_loop_t*);
Run Code Online (Sandbox Code Playgroud)

这意味着,如果我uv_stop(tcp_server_loop)在主线程中调用并且由于tcpserver上没有事件而阻塞服务器循环,那么服务器将仍然处于循环中直到出现某个事件.(它可能会检查是否uv_stop在循环进入阻止模式之前调用以等待新事件).

libuv

5
推荐指数
1
解决办法
1520
查看次数

代码首先仍在尝试创建数据库

即使数据库初始化程序设置为CreateIfNotExists,我也总是遇到此异常.

Additional information: Cannot create file 'C:\\Users\\Krab\\Documents\\Visual Studio 2013\\Projects\\Customer_UI\\customers2.mdf' because it already exists. Change the file path or the file name, and retry the operation.

CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
Run Code Online (Sandbox Code Playgroud)

为什么EF尝试创建数据库,即使它已经存在?

App.config中

 <connectionStrings>
    <add name="Customer.CustomersContext" connectionString="Data Source=(LocalDB)\v11.0;AttachDbFilename='C:\\Users\\Krab\\Documents\\Visual Studio 2013\\Projects\\Customer_UI\\customers2.mdf';Integrated Security=True;Connect Timeout=30" providerName="System.Data.SqlClient" />
  </connectionStrings>
Run Code Online (Sandbox Code Playgroud)

的DbContext:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Data.Entity;

namespace Customer
{
    public class CustomersContext : DbContext
    {
        public CustomersContext() : base("Customer.CustomersContext")
        { …
Run Code Online (Sandbox Code Playgroud)

.net c# entity-framework

5
推荐指数
1
解决办法
4250
查看次数

Elixir - 具有递归的列表值的总和

只是想尝试列出值的简单总和.

defmodule Mth do 

    def sum_list([]) do 
        0
    end

    def sum_list([H|T]) do
        H + sum_list(T)
    end

end

IO.puts Mth.sum_list([1, 2, 300]) 
Run Code Online (Sandbox Code Playgroud)

但我得到这个错误:

**(FunctionClauseError) no function clause matching in Mth.sum_list/1
    pokus.ex:3: Mth.sum_list([1, 2, 300])
    pokus.ex:14: (file)
    (elixir) src/elixir_lexical.erl:17: :elixir_lexical.run/2
    (elixir) lib/code.ex:316: Code.require_file/2**
Run Code Online (Sandbox Code Playgroud)

erlang elixir

5
推荐指数
2
解决办法
4486
查看次数

带Qml TextEdit的QTextObjectInterface(QQuickTextEdit)

我注册了简单的处理程序,它只QTextObjectInterface绘制了10x10的红色矩形.当我QTextEdit在普通的QWidget应用程序中使用时,它工作.
当我QQuickTextEdit在Qt Quick应用程序中使用(TextEdit qml组件)时,它不起作用(没有绘制,但TextEdit中的矩形是保留的,因为当我改变光标位置时,我注意到有东西,但只是空白空间,没有被绘制.
这个QTextObjectInterface intrinsicSize方法被调用(这解释了为什么我看到有空的空间10x10),但drawObject方法不是.

我做了一些研究,我发现实际上问题可能在这里:

Qt 5.3.0来源的QQuickTextEdit.cpp(第1821行)

QSGNode *QQuickTextEdit::updatePaintNode(QSGNode *oldNode, UpdatePaintNodeData *updatePaintNodeData) {
.
.
.
if (textFrame->firstPosition() > textFrame->lastPosition()
        && textFrame->frameFormat().position() != QTextFrameFormat::InFlow) {
    updateNodeTransform(node, d->document->documentLayout()->frameBoundingRect(textFrame).topLeft());
    const int pos = textFrame->firstPosition() - 1;
    ProtectedLayoutAccessor *a = static_cast<ProtectedLayoutAccessor *>(d->document->documentLayout());
    QTextCharFormat format = a->formatAccessor(pos);
    QTextBlock block = textFrame->firstCursorPosition().block();
    node->m_engine->setCurrentLine(block.layout()->lineForTextPosition(pos - block.position()));
    node->m_engine->addTextObject(QPointF(0, 0), format, QQuickTextNodeEngine::Unselected, d->document,
                                  pos, textFrame->frameFormat().position());
    nodeStart = pos;
}
Run Code Online (Sandbox Code Playgroud)

它永远不会到达node->m_engine->addTextObject被调用的地步.
这是因为评估了这部分if条件. 我尝试了,当我建立上下文时,是,是. …

c++ qt qtextedit qml

5
推荐指数
1
解决办法
755
查看次数

内部类属性

InnerClasses属性描述说,

如果一个类的成员是类或接口,则其 constant_pool 表(及其 InnerClasses 属性)必须引用每个此类成员,即使该类没有以其他方式提及该成员。这些规则意味着嵌套类或接口成员将具有每个封闭类和每个直接成员的 InnerClasses 信息。

外层类信息索引:

如果 C不是类或接口的成员(即,如果 C 是顶级类或接口(JLS §7.6)或局部类(JLS §14.3)或匿名类(JLS §15.9.5) )), ...

您可以从第二段注意到本地类或匿名类不被视为“成员”。这意味着第一段不适用于本地类或匿名类。但是当我编译这段代码时(尝试过eclipse编译器和javac):

package bc_data;

public class Pokus {

    public void metoda() {

        class Pokus_Lokalni {

        }

    }

}
Run Code Online (Sandbox Code Playgroud)

javap -v Pokus.class

Classfile /home/jara/projects/bp/bc_data/src/bc_data/Pokus.class
  Last modified May 15, 2015; size 321 bytes
  MD5 checksum cf9cd7707c297e7ba43b8408a9ff6e2f
  Compiled from "Pokus.java"
public class bc_data.Pokus
  SourceFile: "Pokus.java"
  InnerClasses:
       #5= #4; //Pokus_Lokalni=class bc_data/Pokus$1Pokus_Lokalni
  minor version: 0 …
Run Code Online (Sandbox Code Playgroud)

java jvm class

5
推荐指数
1
解决办法
1381
查看次数

使用预处理器宏插入注释字符

我正在尝试创建允许我模拟下面行为的宏,但这不起作用.是否可以按宏插入注释字符?另一种选择是什么?

#define model_interface(CLASS, ROOT) \
    class CLASS : public NInterface<ROOT> { \
    private: \
    CLASS(CLASS&) { } \
    // 'two slashes should be actually inserted too so another characters on same row are ignored'


model_interface(Element, ElementRoot) { // 'previous bracket should be ignored'

// members declarations here

}
Run Code Online (Sandbox Code Playgroud)

c++

5
推荐指数
1
解决办法
84
查看次数

Eclipse Releng工具 - 所有资源都不在团队存储库中共享

我根据这篇文章安装了Releng Tools,所以我可以生成版权标题.

但是当我右键单击任何.java源文件并单击修复版权时,会出现有错误的窗口:

"修复版权"遇到了问题.

所有资源都不在团队存储库中共享

eclipse

4
推荐指数
1
解决办法
1244
查看次数

标签 统计

c++ ×3

javascript ×2

qml ×2

qt ×2

.net ×1

c# ×1

class ×1

eclipse ×1

elixir ×1

entity-framework ×1

erlang ×1

java ×1

jvm ×1

libuv ×1

phpstorm ×1

qtextedit ×1

react-jsx ×1

reactjs ×1