小编gri*_*yvp的帖子

有关使用C#COM的任何好教程吗?

对于其中一个副项目,我需要编写一个需要使用第三方INPROC COM对象的C#应用​​程序.不幸的是,C#不是我的主要编程语言,所以我的知识有点受限.有关如何从C#访问COM对象的任何好的教程吗?使用此第三方COM对象需要我创建指定COM接口的实现,并将该实现提供给COM对象以使其起作用.

c# com

17
推荐指数
2
解决办法
2万
查看次数

如果我在单独的Ruby线程中进行任何密集计算,为什么Ruby 1.9 GUI会挂起?

Ruby 1.9应该具有本机线程,如果某些线程进入本机代码(如GUI工具包主循环或某些Ruby lib的C实现),GIL应该会解除.

但是,如果我开始关注在主线程中显示GUI的简单代码示例并在单独的线程中执行一些基本的数学运算 - GUI将严重挂起,尝试调整窗口大小以便自己查看.我已经检查过不同的GUI工具包,Qt(qtbindings gem) - 它的行为完全相同.在Windows 7和OSX 10.7上使用Ruby 1.9.3-p0进行了测试

require 'tk'
require 'thread'
Thread.new { loop { a = 1 } }
TkRoot.new.mainloop()
Run Code Online (Sandbox Code Playgroud)

Python中的相同代码工作正常,没有任何GUI挂起:

from Tkinter import *
from threading import *
class WorkThread( Thread ) :
  def run( self ) :
    while True :
      a = 1
WorkThread().start()
Tk().mainloop()
Run Code Online (Sandbox Code Playgroud)

我做错了什么?

UPDATE

看来在Ubuntu linux上没有这样的问题,所以我的问题主要是关于Windows和OSX.

UPDATE

有人指出OSX上没有这样的问题.所以我汇编了一个分步和重现问题的分步指南:

  1. 通过"恢复"功能安装OSX 10.7 Lion.我用我们的测试部门MB139RS/A mac mini进行测试.
  2. 安装所有更新.系统将如下所示: 在此输入图像描述
  3. 从activestate.com安装最新的ActiveTcl,在我的例子中是OSX的ActiveTcl 8.5.11.
  4. 下载并解压缩最新的Ruby源代码.就我而言,它是Ruby 1.9.3-p125.编译它并安装替换系统Ruby(下面的命令).您将获得内置Tk支持的最新ruby: 在此输入图像描述
  5. test.rb使用我的示例中的代码创建一个文件并运行它.尝试调整窗口大小 - 你会看到可怕的滞后.从代码中删除线程,启动并尝试调整窗口大小 - 滞后消失.我录制了这个测试视频.

Ruby编译命令: …

ruby multithreading ruby-1.9

17
推荐指数
1
解决办法
2091
查看次数

如何将cherrypy用作静态文件的Web服务器?

是否可以轻松地将CherryPy用作将.html在某个文件夹中显示文件的Web服务器?所有CherryPy入门文档都声明内容是动态生成的:

import cherrypy
class HelloWorld(object):
    def index(self):
        return "Hello World!"
    index.exposed = True
cherrypy.quickstart(HelloWorld())
Run Code Online (Sandbox Code Playgroud)

是否有任何简单的方法来index.html代替HelloWorld.index()方法?

python cherrypy

16
推荐指数
2
解决办法
2万
查看次数

在python脚本中使用easy_install?

easy_install python扩展允许从控制台安装python egg,如:

easy_install py2app
Run Code Online (Sandbox Code Playgroud)

但是可以在python脚本中访问easy_install功能吗?我的意思是,不调用os.system("easy_install py2app"),而是将easy_install作为python模块导入并使用它的本机方法?

python setuptools

16
推荐指数
1
解决办法
6161
查看次数

Python"setup.py develop":是否可以在源代码文件夹中创建".egg-info"文件夹?

Python有能力通过运行它的setup.py脚本来"伪装"一个包develop而不是install.这会修改python环境,因此可以从它的当前位置导入包(它不会被复制到site-package目录中).这允许开发其他包使用的包:源代码被修改到位,并且通过简单的更改可用于其余的python代码import.

一切正常,除了该setup.py develop命令创建一个.egg-info文件夹与元数据相同的文件夹setup.py.混合源代码和临时文件不是一个好主意 - 需要将此文件夹添加到从vcs和结束备份系统开始的多个工具的"忽略"列表中.

是否可以使用setup.py develop.egg-info在其他地方创建目录,因此原始源代码不会受到临时目录和文件的污染?

python distutils setuptools

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

python,"a in b"关键字,多个a的怎么样?

我在Python中的冒险经历继续,我最喜欢的书再次沉默.Python提供了一种内置方法,使用'in'关键字测试变量是否在可迭代对象中:

if "a" in "abrakadabra" :
  print "it is definitely here"
Run Code Online (Sandbox Code Playgroud)

但是有可能测试列表中是否有多个项目(任何一个)?目前,我正在使用下面的语法,但它有点长:

if "// @in " in sTxt or "// @out " in sTxt or "// @ret " in sTxt or <10 more>
  print "found."
Run Code Online (Sandbox Code Playgroud)

当然正则表达式可以提供帮助,但使用正则表达式会占用大量代码,并且不会像"a in b"那样清晰.还有其他Pythonic方式吗?

python

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

在C#中订阅事件到事件?

在C#中是否可以将一个事件连接到另一个事件,因此发出第一个事件会发出第二个事件?我能看到的唯一方法是创建一个将发出第二个事件并将第一个事件连接到此函数的存根函数.编译器不希望将事件或事件连接到调用另一个事件的anonymouse函数/ lambda:

class Ui { public event EventHandler OnClick; }
class Logic { public event EventHandler OnExit; }
var ui = new Ui();
var logic = new Logic();
ui.OnClick += logic.OnExit; // Not working.
ui.OnClick += ( a, b ) => logic.OnExit; // Not working either :(.
Run Code Online (Sandbox Code Playgroud)

也许它是一些可用的装饰器或一些黑魔法允许链接没有存根函数的事件?

c#

15
推荐指数
1
解决办法
8210
查看次数

Emacs:关于为自定义语言创建语法高亮的任何好指南?

有没有人知道如何在emacs中为自定义语言创建语法高亮的好指南?

emacs

15
推荐指数
1
解决办法
7330
查看次数

是否有可能在Emacs中评估整个缓冲区?

目前,为了评估Emacs中的elist,我需要将光标定位在最后一个括号上并发出C-x e.

是否可以将整个缓冲区评估为单个elisp程序而无需定位光标?

emacs

14
推荐指数
2
解决办法
4963
查看次数

如何根据调试/发布设置不同的qmake配置?

我需要在.pro文件中指定不同的输出和中间文件夹,以便进行调试和发布构建.我创建了一个以下测试.pro文件:

release {
  message( "release" )
}
debug {
  message( "debug" )
}
Run Code Online (Sandbox Code Playgroud)

但是使用"debug"构建在Qt Creator中编译此.pro文件会导致以下输出:

Project MESSAGE: release
Project MESSAGE: debug
Run Code Online (Sandbox Code Playgroud)

似乎"调试"和"释放"条件都设置为TrueO_O.是否有可能以某种方式在qmake中单独处理调试和发布版本?

qt

14
推荐指数
2
解决办法
7913
查看次数

标签 统计

python ×4

c# ×2

emacs ×2

setuptools ×2

cherrypy ×1

com ×1

distutils ×1

multithreading ×1

qt ×1

ruby ×1

ruby-1.9 ×1