问题列表 - 第12041页

调用从PyObjC获取char*的选择器

我正在尝试使用PyObjC的私有框架.到目前为止我有这个:

from AppKit import *
from Foundation import *
import objc

framework="/System/Library/PrivateFrameworks/DSObjCWrappers.framework"
objc.loadBundle("DSObjCWrapper", globals(), framework)

directory = DSoDirectory.alloc()
directory.initWithHost_user_password_("server", "diradmin", "password")

eDSStartsWith = 0x2002
node = directory.findNode_matchType_(u"/LDAPv3", eDSStartsWith)
Run Code Online (Sandbox Code Playgroud)

这很好.现在,我想在我的节点(类DSoNode)上调用一个方法,使用此objective-c签名.

  • (BOOL)hasRecordsOfType:(const char*)inType

最明显的方法是不知道如何获取字符串并将其传递给char*:

node.hasRecordsOfType_("dsRecTypeStandard:ComputerLists")
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)

/Users/clinton/<ipython console> in <module>()

ValueError: depythonifying 'char', got 'str' of 31
Run Code Online (Sandbox Code Playgroud)

看起来可以在python看到它时更改签名.我尝试了一些变化:

objc.registerMetaDataForSelector("DSoNode", "hasRecordsOfType_", dict( arguments={ 2+0: dict(type_modifier='n', type='^C') }))
Run Code Online (Sandbox Code Playgroud)

但是 - 坦率地说我不知道​​registerMetaDataForSelector函数是如何工作的,并且还没有找到文档 - 当我在节点上调用我的选择器时,我仍然会得到相同的错误.如何告诉PyObjC将字符串转换为char*?(或者有更好的方法,因为这些字符串是头文件中的C常量#defined.)


更新:我尝试使用gen_bridge_metadata(如本博所述),并在查阅手册页后,尝试如下:

sudo mkdir -p /System/Library/PrivateFrameworks/DSObjCWrappers.framework/Resources/BridgeSupport
sudo gen_bridge_metadata --framework ~/Downloads/DSTools-112.1/build/Deployment/DSObjCWrappers.framework/ …
Run Code Online (Sandbox Code Playgroud)

pyobjc pointers objective-c char

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

在JavaScript中设置请求标头

在使用XMLHttpRequest进行AJAX调用时,似乎无法从JavaScript更改大多数请求标头.请注意,request.setRequestHeader必须request.open()在Gecko浏览器中调用后(请参阅http://ajaxpatterns.org/Talk:XMLHttpRequest_Call).当我设置Referer时,它没有设置(我查看了使用Firebug和Tamper Data发送的请求标头).当我设置User-Agent时,它完全搞砸了AJAX调用.但是,设置AcceptContent-Type确实有效.我们是否阻止在Firefox 3中设置RefererUser-Agent

var request = new XMLHttpRequest();
var path="http://www.yahoo.com";
request.onreadystatechange=state_change;

request.open("GET", path, true);
request.setRequestHeader("Referer", "http://www.google.com");
//request.setRequestHeader("User-Agent", "Mozilla/5.0");
request.setRequestHeader("Accept","text/plain");
request.setRequestHeader("Content-Type","text/plain");

request.send(null);
    function state_change()
{
if (request.readyState==4)
  {// 4 = "loaded"
  if (request.status==200)
    {// 200 = OK
    // ...our code here...
    alert('ok');
    }
  else
    {
    alert("Problem retrieving XML data");
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

javascript ajax

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

写入用户文档文件夹C++

我正在尝试将一些信息写入用户的文档文件夹(例如C:\ Documents and Settings\[userName]),但我似乎无法找到如何以编程方式获取路径.有没有办法做到这一点?C++,不使用.NET.

谢谢!

c++ windows winapi

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

Registry.LocalMachine.OpenSubKey()返回null

我从这次访问Windows注册表的尝试中获得了null:

using (RegistryKey registry = Registry.LocalMachine.OpenSubKey(keyPath))
Run Code Online (Sandbox Code Playgroud)

keyPath是 SOFTWARE\\TestKey

关键是在注册表中,为什么它不在Local Machine配置单元下找到它?

c# registry

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

如何将代码示例放在.NET XML注释中?

我可以使用什么标签将代码示例放在.NET ///XML注释中?

.net xml documentation comments

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

JQuery UI旋转选项卡和事件

我正在使用JQuery UI(旋转标签),我想知道如何在其中一个导航标签上发生onclick事件时停止循环.

$(document).ready(function(){
                $("#sws_featured > ul").tabs({fx:{opacity: "toggle"}})
                                       .tabs("rotate", 5000,true);
});
Run Code Online (Sandbox Code Playgroud)

我尝试在下面(以及内部.ready)上面的代码添加此代码,但无济于事.我确认下面的这个函数正在接收onClick事件,但旋转没有停止.

$("#sws_featured > ul a").click(function(){

            $("#sws_featured > ul").tabs("rotate", 0, false);

  });
Run Code Online (Sandbox Code Playgroud)

一定不能正确访问对象......有什么想法吗?

jquery user-interface tabs rotation onclick

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

ASP.NET MVC - 从Controller中查找App_Data文件夹的绝对路径

从ASP.NET MVC项目中的Controller查找App_Data文件夹的绝对路径的正确方法是什么?我希望能够临时使用.xml文件,我不想硬编码路径.

这不起作用:

[HandleError]
public class HomeController : Controller
{
    public ActionResult Index()
    {
        string path = VirtualPathUtility.ToAbsolute("~/App_Data/somedata.xml");

        //.... do whatever 

        return View();
    }

}
Run Code Online (Sandbox Code Playgroud)

我认为在Web上下文之外VirtualPathUtility.ToAbsolute()不起作用.字符串路径返回"C:\ App_Data\somedata.xml"

我应该在哪里确定MVC应用程序中.xml文件的路径?global.asax并坚持使用应用程序级变量?

.net asp.net-mvc absolute-path

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

如何从存储为字符串的颜色返回Web颜色常量?

//clWebSnow = $FAFAFF; defined in Graphics.pas
Listbox1.Items.Add( ColorToString( clRed ) );
Listbox1.Items.Add( ColorToString( clWebSnow ) );
Run Code Online (Sandbox Code Playgroud)

如何将"WebSnow"作为字符串返回以将颜色显示为WebSnow的颜色常量?

所有我似乎得到的是'$ FAFAFF'作为字符串,其中webcolors存储为字符串,而StandardColors和ExtendedColors返回颜色常量值.

示例:clRed在列表框中显示为红色,并在标签标题中显示为红色.clWebSnow在列表框中显示为"$ FAFAFF",并在标签标题中显示为$ FAFAFF.

法案

delphi

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

正则表达式匹配错误

我是Python的新手(我也没有任何编程培训),所以在我提问时请记住这一点.

我正在尝试搜索检索到的网页,并使用指定的模式查找所有链接.我已经在其他脚本中成功完成了这项工作,但我收到的错误是

raise error, v # invalid expression
Run Code Online (Sandbox Code Playgroud)

sre_constants.error:多次重复

我不得不承认我不知道为什么,但同样,我是Python和正则表达式的新手.但是,即使我不使用模式并使用特定链接(只是为了测试匹配),我也不相信我会返回任何匹配(当我打印match.group(0)时,没有任何内容发送到窗口.链接我测试的是下面评论的.

有任何想法吗?通过示例学习通常更容易,但是您可以给予的任何建议都非常感谢!

import urllib2
from BeautifulSoup import BeautifulSoup
import re

url = "http://forums.epicgames.com/archive/index.php?f-356-p-164.html"
page = urllib2.urlopen(url).read()
soup = BeautifulSoup(page)

pattern = r'<a href="http://forums.epicgames.com/archive/index.php?t-([0-9]+).html">(.?+)</a> <i>((.?+) replies)'
#pattern = r'href="http://forums.epicgames.com/archive/index.php?t-622233.html">Gears of War 2: Horde Gameplay</a> <i>(20 replies)'

for match in re.finditer(pattern, page, re.S):
    print match(0)
Run Code Online (Sandbox Code Playgroud)

python regex

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

tsql:将变量转换为字符串类型的最佳方法?

我写了一个tsql过程,它将一个字符串插入到一个文本文件中,这意味着它需要将所有变量转换为字符串.而不是使用case case语句,是否更容易做到这包括所有情况并强制任何类型的字符串类型?

提前致谢

t-sql sql-server-2005

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