小编dou*_*laz的帖子

适用于Java的轻量级代码编辑器小部件,支持JavaScript

我正在创建一个Swing应用程序,用户应该能够编辑JavaScript代码.所以我需要一些嵌入Java的代码编辑器,它支持:

  • 可自定义的自动完成(或者如果尚未完成,可扩展到足以轻松实现)
  • 语法错误突出显示(如Netbeans或其他高级编辑器,可以标记具有语法问题的行)
  • 颜色语法突出显示(不是非常关键)

在Java中嵌入它的需要主要是因为自动完成将是动态的并且非常特定于应用程序.

这样的编辑器存在吗?

javascript java swing

8
推荐指数
2
解决办法
2202
查看次数

给定一个COM DLL,提取所有类CLSID和相应的接口名称

我的问题类似于获取DLL文件的CLSID?, 我认为.

我有一个带有一些DLL的目录,每个DLL实现一个或多个COM接口.我想得到:

1)每个接口名称2)实现接口的类的CLSID

对于每个DLL.重要的是一切都可以以编程方式完成(所以我不能使用某种COM浏览器并手动查找该信息).

稍后我将查找给定接口名称的CLSID并使用IDispatch调用一些方法.

一种替代方案似乎是扫描注册表,试图匹配类型,接口和类GUID以及.dll文件名.但这似乎很慢而且不健全.

有人有这个问题的明确解决方案吗?

编辑:

根据Ben Voigt的回应,我提供了以下符合我需求的代码:

ITypeLib *typelib;
ITypeInfo *typeinfo;
LoadTypeLibEx(_T("c:\\mydir\\mycom1"), REGKIND_NONE, &typelib);
for (UINT i = 0;i < typelib->GetTypeInfoCount();++i) {
    TYPEKIND typekind;
    typelib->GetTypeInfoType(i, &typekind);
    if (typekind == TKIND_COCLASS) {
        // class!
        CComBSTR className;
        TYPEATTR *typeattr;
        typelib->GetTypeInfo(i, &typeinfo);
        typeinfo->GetDocumentation(MEMBERID_NIL, &className, NULL, NULL, NULL);
        typeinfo->GetTypeAttr(&typeattr);
        GUID classGUID = typeattr->guid;
        for (UINT j = 0;j < typeattr->cImplTypes;++j) {
            // interface!
            CComBSTR interfaceName;
            HREFTYPE hreftype;
            ITypeInfo *classtypeinfo;
            typeinfo->GetRefTypeOfImplType(j, &hreftype);
            typeinfo->GetRefTypeInfo(hreftype, &classtypeinfo);
            classtypeinfo->GetDocumentation(MEMBERID_NIL, &interfaceName, NULL, NULL, NULL); …
Run Code Online (Sandbox Code Playgroud)

c++ windows com

7
推荐指数
2
解决办法
8196
查看次数

检查一个对象是否在json4s/lift-json中有一个字段

我有一些带有一些字段的json,我想检查它们中是否有一些存在.我正在提取值并针对JNothing测试它,但它太冗长了:

val json: JValue = ...

val jsonIsType1 = (json \ "field1") != JNothing && (json \ "field2") != JNothing
Run Code Online (Sandbox Code Playgroud)

是否有更紧凑的方法使用json4s/lift-json检查json对象中是否存在字段?理想情况如下:

val jsonIsType1 = json.has("field1") && json.has("field2")
Run Code Online (Sandbox Code Playgroud)

json scala lift-json json4s

3
推荐指数
1
解决办法
8260
查看次数

模拟一个没有参数但带有隐式参数的方法

abstract trait MyApi {

  def getResult()(implicit ec: ExecutionContext): Future[String]

}
Run Code Online (Sandbox Code Playgroud)

以下不起作用:

val m = mock[MyApi]
(m.getResult _).expects() returning "..."
Run Code Online (Sandbox Code Playgroud)

它失败了:

java.lang.ClassCastException: org.scalamock.MockFunction1 cannot be cast to org.scalamock.MockFunction0
Run Code Online (Sandbox Code Playgroud)

注意:http ://scalamock.org/user-guide/advanced_topics/中给出的示例仅在方法至少有一个参数时才有用.所以我们不能像使用scalamock在scala中使用ClassTag的模拟方法那样使用解决方案

unit-testing scala scalatest scalamock

3
推荐指数
1
解决办法
3101
查看次数

标签 统计

scala ×2

c++ ×1

com ×1

java ×1

javascript ×1

json ×1

json4s ×1

lift-json ×1

scalamock ×1

scalatest ×1

swing ×1

unit-testing ×1

windows ×1