小编Kev*_*Kev的帖子

Perl .plx文件扩展名是否曾在现实生活中使用过?

ActiveState Perl为扩展安装IIS脚本映射.plx.这实际上是在现实生活中使用还是仅仅是ActiveState特有的东西?

iis scripting perl activestate

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

创建后,我可以创建一个支持OpenGL的X11窗口吗?

我想能够只给出它的id渲染到X Window.

在这种情况下,我有一个由gtk在python中创建的窗口.

我可以获取a的窗口ID gtk.Drawable并将其传递到我的C python模块中,但是我可以将OpenGL调用渲染到它吗?

我知道gtkglext,但如果可能的话宁愿不使用它.

更新1:

好吧,所以(现在很明显我已经看到了)你只需要XCreateWindow使用你得到的Window id的父级gtk.window.xid,使用opengl窗口的正确标志,然后嘿presto.

唯一的问题是如果窗口中没有多个小部件,我无法使其工作,否则似乎xid代表一个覆盖整个顶层窗口的窗口.不知道如何纠正这个问题.

更新2: 事实证明,如果你有一个与顶层大小相同的gl窗口,那么在gl窗口交换缓冲区之前,顶层窗口不会暴露事件.你只需要保持交换缓冲区,事情就好了.

更新3:

要回答@ babele的评论:

python gtk文档中的这个页面说明了如何从现有的xid创建一个gtk窗口.之后你只需记住继续为该窗口调用glXSwapBuffers(如果它是一个opengl缓冲窗口,否则它应该在你使用window_foreign_new时工作).

所以过程如下:

  1. 创建一个包含OpenGL窗口的gtk小部件(DrawingArea是一个不错的选择 - 你不能使用例如标签,因为它没有自己的xid)
  2. 获取小部件的gtk.gdk.Window(docs)
  3. 从gtk.gdk.Window获取xid(调用此窗口W1)
  4. 将它传递给您的C/C++代码
  5. 创建具有opengl功能的窗口(W2)作为W1的子级
  6. 将W2的xid传回python
  7. 使用window_foreign_new和W2的xid创建新的gtk.gdk.window对象
  8. 每次在W2 gtk上调用glXSwapBuffers时,应该能够对暴露事件做出反应.

真正让我感到震惊的是,如果W2覆盖整个W1,那么W1将不会接收事件,直到W2的缓冲区被交换.如果W1是一个顶级窗口,这尤其令人困惑,因为它可能根本就没有任何东西出现在屏幕上(窗口就在那里,但它看起来就像它背后的任何东西,直到它被绘制,这不会发生,直到它得到曝光事件).

另请注意,您必须通过连接到gtk resize事件手动管理W2的大小调整.您可以通过连接到此信号,然后在处理程序中调用此函数并将结果传递到c/c ++模块来执行此操作,您可以在其中适当地调整W2的大小.请求最小尺寸是个好主意.

x11 opengl

7
推荐指数
1
解决办法
2341
查看次数

DateTime.TryParse所有可能的日期类型

我想检查日期是否格式正确.正确的日期有很多种可能性,例如:

  • 2010年8月2日
  • 2010年8月2日
  • 02.8.2010 02.08
  • 02.August
  • ...

我可以用这样的代码测试每个代码:

if (DateTime.TryParse(DateTime.ParseExact(date, "dd.M.", 
                              new CultureInfo("sl-SI")).ToString(), out dt))
Run Code Online (Sandbox Code Playgroud)

但是我可以有40个if语句.是否可以使用一个if语句或一个循环检查所有日期?

更新:

基于到目前为止的答案,我正在测试此代码,但我还有一个问题.如果我只有9.2而不是9.2.2010那么这段代码将不起作用:

CultureInfo ci = CultureInfo.GetCultureInfo("sl-SI");
string[] fmts = ci.DateTimeFormat.GetAllDateTimePatterns();

if (DateTime.TryParseExact(date, fmts, ci, DateTimeStyles.AssumeLocal, out dt))
{
    DateTime = Convert.ToDateTime(date);
    Check = true;
}
Run Code Online (Sandbox Code Playgroud)

我必须手动添加这些时间或我该怎么办?

c# datetime

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

为什么我的WCF数据服务客户端代理代码中缺少ServiceOperation方法?

我有一个简单的WCF数据服务服务,我想公开一个服务操作,如下所示:

[System.ServiceModel.ServiceBehavior(IncludeExceptionDetailInFaults = true)]
public class ProductDataService : DataService<ProductRepository>
{
    // This method is called only once to initialize service-wide policies.
    public static void InitializeService(IDataServiceConfiguration config)
    {
      config.SetEntitySetAccessRule("*", 
            EntitySetRights.ReadMultiple | EntitySetRights.ReadSingle);
      config.SetServiceOperationAccessRule("*", 
            ServiceOperationRights.All);
      config.UseVerboseErrors = true;
    }

// This operation isn't getting generated client side
[WebGet]
public IQueryable<Product> GetProducts()
{
    // Simple example for testing
    return (new ProductRepository()).Product;
}
Run Code Online (Sandbox Code Playgroud)

GetProducts当我在客户端添加服务引用时,为什么方法不可见?

我正在运行Visual Studio 2008 SP1和.NET Framework 3.5 SP1.我还下载并安装了此更新:

MS KB:976127 - 提供了一个更新,它为运行Windows 7或Windows Server 2008 R2的计算机上的.NET Framework 3.5 SP1中的ADO.NET数据服务提供了其他功能和改进

astoria visual-studio-2008 wcf-data-services

7
推荐指数
1
解决办法
6018
查看次数

我可以从Coldfusion以编程方式管理(添加/编辑/删除)IIS 7站点吗?

使用Coldfusion 8/9,我将如何管理IIS7.例如:

我正在建立一个网站生成器,当有人填写表格时,将生成一个网站.此过程中的一个步骤是创建具有特定主机头/ ip绑定的IIS站点.另一步可以是允许用户上传SSL证书.这可能是不可能的,我不确定.但我知道应该有一种与IIS7交互的方法.

iis coldfusion iis-7

7
推荐指数
1
解决办法
2264
查看次数

NoSQL数据库 - 日志处理/聚合和汇总的良好候选者?

我有一个MS SQL数据库,用于捕获带宽统计信息.我们有一个原始数据表,为了提高不同深入分析级别的报告速度,我们按小时,每天和每周汇总和汇总数据到单独的表.

诸如Mongo或Raven之类的NoSQL数据库是否适合此类应用?

mongodb nosql ravendb

7
推荐指数
1
解决办法
2403
查看次数

C#创建缓冲区溢出

我正在尝试使用C#为学校项目创建缓冲区溢出:

unsafe
{
    fixed (char* ptr_str = new char[6] {'H', 'a', 'l', 'l', 'o', ','})
    {
        fixed (char* ptr_str2 = new char[6] {'W', 'e', 'r', 'e', 'l', 'd'})
        {
            fixed (char* ptr_str3 = new char[6] {'!', '!', '!', '!', '!', '!'})
            {
                for (int i = 0; i < 8; i++)
                {
                    ptr_str2[i] = 'a';
                }

                for (int i = 0; i < 6; i++)
                {
                    this.Label2.Text += ptr_str[i];
                    this.Label3.Text += ptr_str2[i];
                    this.Label4.Text += ptr_str3[i];
                }
            }
        }
    }
} …
Run Code Online (Sandbox Code Playgroud)

c# buffer unsafe overflow

7
推荐指数
3
解决办法
4857
查看次数

无法将eclipse项目转换为IJavaProject

我有以下代码

    IJavaProject targetProject = null;
    IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
    for (IProject project : root.getProjects()) {
        if (project.getName().equals(projName)) {
            try {
                if (project.hasNature("org.eclipse.jdt.core.javanature")) {
                    targetProject = (IJavaProject) project;
                }
            } catch( ... ) {
             // etc ...
            }
Run Code Online (Sandbox Code Playgroud)

我想要做的实际上是返回一个与特定名称匹配的项目作为IJavaProject.正如您所看到的,我通过调用以确保所讨论的项目具有java特性:

if (project.hasNature("org.eclipse.jdt.core.javanature")) {
Run Code Online (Sandbox Code Playgroud)

唉,我得到一个'ClassCaseException'说明

java.lang.ClassCastException: 
    org.eclipse.core.internal.resources.Project cannot be cast to org.eclipse.jdt.core.IJavaProject
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?我原以为一旦IProject具有java特性,它就可以转换为IJavaProject.由于此处服务不可用,我目前无法访问JDT Core API .

eclipse eclipse-plugin classcastexception eclipse-jdt

7
推荐指数
1
解决办法
7504
查看次数

在iOS 5上阻止AirPlay镜像

在具有iPad 2或iPhone 4S的iOS 5上,用户可以使用Apple TV和AirPlay启用屏幕镜像.如何防止以这种方式镜像我的应用程序?有没有办法检测到这种镜像正在发生,所以我可以防止我的内容被镜像?

这样做的原因是因为我有内容我不合法地允许在电视屏幕上显示.

iphone ipad ios airplay apple-tv

7
推荐指数
1
解决办法
4962
查看次数

使用Knockout JS调用ajax后的刷新列表

我在页面上有一个附件列表,它是使用jQuery $.ajax调用和Knockout JS生成的.

我的HTML看起来像(这被删除):

<tbody data-bind="foreach: attachments">
  <tr>
    <td data-bind="text: Filename" />
  </tr>
</tbody>
Run Code Online (Sandbox Code Playgroud)

我有一个函数,它获取作为JSON响应返回的附件列表:

$(function () {
  getFormAttachments();
});

function getAttachments() {
  var request = $.ajax({
    type: "GET",
    datatype: "json",
    url: "/Attachment/GetAttachments"
  });

  request.done(function (response) {
    ko.applyBindings(new vm(response));
  });
}
Run Code Online (Sandbox Code Playgroud)

我的视图模型看起来像:

function vm(response) {
  this.attachments = ko.observableArray(response);
};
Run Code Online (Sandbox Code Playgroud)

有一个刷新按钮,用户可以单击以刷新此列表,因为随着时间的推移,可能已添加/删除附件:

$(function () {
  $("#refresh").on("click", getAttachments);
});
Run Code Online (Sandbox Code Playgroud)

附件列表的初始呈现很好,但是当我getAttachments通过刷新按钮再次调用时,单击列表被添加到(实际上每个项目都重复多次).

我已经创建了一个jsFiddle来演示这个问题:

http://jsfiddle.net/CpdbJ/137

我究竟做错了什么?

javascript knockout.js

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