问题列表 - 第28944页

无效的HTTP响应代码'0'

我正在尝试使用一个使用CPAINT的脚本,当我点击收藏项目(一个5星评级系统)时,我不断收到上述错误.

看起来它正在制作一个AJAX请求,但我无法从我的Firebug中看到这个来调试这个 - 为什么会这样呢?

更重要的是,错误代码0是什么意思?

谢谢大家的帮助

javascript ajax

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

你可以在c#中将对象强制转换为长对象吗?

我使用泛型属性从Session中提取"long"值,然后崩溃了.

所以我有:

public static T Get<T>(string key)
{
    if(...)
        return (T)System.Web.HttpContext.Current.Session[key];

    ...
}
Run Code Online (Sandbox Code Playgroud)

调试时,值为4,崩溃.

c# asp.net generics

4
推荐指数
2
解决办法
6200
查看次数

varchar()和nvarchar()之间奇怪的SQL Server 2005整理差异

有人可以解释一下:

SELECT 
  CASE WHEN CAST('iX' AS nvarchar(20)) 
      > CAST('-X' AS nvarchar(20)) THEN 1 ELSE 0 END,
  CASE WHEN CAST('iX' AS varchar(20)) 
      > CAST('-X' AS varchar(20)) THEN 1 ELSE 0 END
Run Code Online (Sandbox Code Playgroud)

结果: 0 1

SELECT 
  CASE WHEN CAST('i' AS nvarchar(20)) 
      > CAST('-' AS nvarchar(20)) THEN 1 ELSE 0 END,
  CASE WHEN CAST('i' AS varchar(20)) 
      > CAST('-' AS varchar(20)) THEN 1 ELSE 0 END
Run Code Online (Sandbox Code Playgroud)

结果: 1 1

在第一个查询中,nvarchar()结果不是我所期望的,但是删除Xmake会使nvarchar()排序按预期发生.

(我原来的查询中使用的''N''文字语法来区分varchar()nvarchar() …

t-sql unicode nvarchar sql-server-2005 collation

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

以文本/ ASCII形式渲染水平二进制树的算法

它是一个非常普通的二叉树,除了其中一个节点可能为空的事实.

我想找到一种以水平方式输出它的方法(也就是说,根节点在左侧并向右扩展).

我有一些垂直扩展树木的经验(根节点在顶部,向下扩展),但在这种情况下,我不知道从哪里开始.

最好是遵循以下几条规则:

  • 如果一个节点只有一个子节点,则可以将其作为冗余跳过(始终显示"终端节点",没有子节点)
  • 相同深度的所有节点必须垂直对齐; 所有节点必须位于所有较低深度节点的右侧,并且位于所有较深节点的左侧.
  • 节点具有包含其深度的字符串表示.
  • 每个"端节点"都有自己独特的线路; 也就是说,行数是树中终端节点的数量,当终端节点在一条线上时,该终端节点之后该行上可能没有其他内容.
  • 作为最后一条规则的结果,根节点在左上角或左下角可能会更好; 左上角是首选.

例如,这是一个有效的树,有六个端节点(节点由一个名称及其深度表示):编辑:请参阅问题的底部以获得替代,更容易渲染

        
[a0]-----------[b3]------[c5]------[d8]
    \              \         \----------[e9]
     \              \----[f5]
      \-[g1]--------[h4]------[i6]
            \           \--------------------[j10]
             \-[k3]

它代表垂直的显式二叉树:

0              a
              / \
1            g   *
            / \   \
2          *   *   *
          /     \   \
3        k       *   b
                /   / \
4              h   *   *
              / \   \   \
5            *   *   f   c
            /     \     / \
6          *       i   *   *
          /           /     \
7        *           *       *
        /           / …

ruby language-agnostic algorithm text binary-tree

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

使用Image.FromHbitmap()构造Bitmap时,原始位图句柄多久可以被删除?

从文档Image.FromHbitmap()http://msdn.microsoft.com/en-us/library/k061we7x%28VS.80%29.aspx:

FromHbitmap方法制作GDI位图的副本; 因此,您可以在创建新图像后立即使用GDIDeleteObject方法释放传入的GDI位图.

这非常明确地说明,一旦创建了Bitmap实例,就可以使用DeleteObject立即删除位图句柄.

Image.FromHbitmap()然而,看看使用Reflector 的实现,它表明它是围绕GDI +函​​数的一个非常薄的包装器GdipCreateBitmapFromHBITMAP().

有对GDI +平板API函数相当稀少的文档,但http://msdn.microsoft.com/en-us/library/ms533971%28VS.85%29.aspx表示,GdipCreateBitmapFromHBITMAP()对应于Bitmap::Bitmap()接受一个构造函数HBITMAPHPALETTE作为参数.

http://msdn.microsoft.com/en-us/library/ms536314%28VS.85%29.aspx上此版本Bitmap::Bitmap()构造函数的文档有这样的说法:

您负责删除GDI位图和GDI调色板.但是,在删除GDI + Bitmap :: Bitmap对象或超出范围之前,不应删除GDI位图或GDI调色板.

不要将GDI位图或位图构造函数传递给当前(或以前)选择到设备上下文中的GDI位图或GDI调色板.

此外,可以在源代码中看到GdiPlusBitmap.h中GDI +的C++部分,所讨论的Bitmap::Bitmap()构造函数本身就是GdipCreateBitmapFromHBITMAP()来自平面API 的函数的包装器:

inline 
Bitmap::Bitmap(
    IN HBITMAP hbm, 
    IN HPALETTE hpal
    )
{
    GpBitmap *bitmap = NULL;

    lastResult = DllExports::GdipCreateBitmapFromHBITMAP(hbm, hpal, &bitmap);

    SetNativeImage(bitmap);
}
Run Code Online (Sandbox Code Playgroud)

我不能轻易看到的是GdipCreateBitmapFromHBITMAP()这个功能的核心实现,但文档中的两个评论似乎是矛盾的..Net文档说我可以立即删除位图句柄,并且GDI +文档说必须保留位图句柄,直到删除包装对象,但两者都基于相同的GDI +函​​数.

此外,GDI +文档警告不要使用当前或之前选择到设备上下文中的源HBITMAP.虽然我可以理解为什么当前不应该将位图选择到设备上下文中,但我不明白为什么会出现使用先前选择到设备上下文中的位图的警告.这似乎会阻止使用标准GDI在内存中创建的GDI +位图.

所以,总结一下:

  1. 在处理.Net Bitmap对象之前,是否需要保留原始位图句柄?
  2. GDI +函​​数GdipCreateBitmapFromHBITMAP()是复制源位图还是只保留原始句柄?
  3. 为什么我不应该使用先前在设备上下文中选择的HBITMAP?

.net system.drawing gdi+

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

在numpy数组上的Scipy插值

我有一个查找表,其定义如下:

       | <1    2    3    4    5+
-------|----------------------------
<10000 | 3.6   6.5  9.1  11.5 13.8
20000  | 3.9   7.3  10.0 13.1 15.9
20000+ | 4.5   9.2  12.2 14.8 18.2


TR_ua1 = np.array([ [3.6, 6.5, 9.1, 11.5, 13.8],
                    [3.9, 7.3, 10.0, 13.1, 15.9],
                    [4.5, 9.2, 12.2, 14.8, 18.2] ])
Run Code Online (Sandbox Code Playgroud)
  • 标题行元素是(hh)<1,2,3,4,5+
  • 标题列(inc)元素<10000,20000,20001+

用户将输入值示例(1.3,25,000),(0.2,50,000),依此类推.scipy.interpolate()应进行插值以确定正确的值.

目前,我能做到这一点的唯一方法是使用一堆if/ elifs如下所示.我很确定有更好,更有效的方法

这是我到目前为止所得到的:

import numpy as np
from scipy import interpolate

if (ua == 1):
    if (inc <= low_inc):  # low_inc = 10,000
      if …
Run Code Online (Sandbox Code Playgroud)

python interpolation numpy scipy

10
推荐指数
1
解决办法
7293
查看次数

在Perl中使用常量

我试图使用constantpragma 在Perl中定义常量:

use constant {
    FOO => "bar",
    BAR => "foo"
};
Run Code Online (Sandbox Code Playgroud)

我遇到了一些麻烦,并希望有一种标准的处理方式.

首先...

我正在为Subversion定义一个钩子脚本.为了简单起见,我希望有一个文件,我正在使用的类(包)与我的实际脚本在同一个文件中.

这个包中的大部分都会包含常量:

 print "This is my program";

 package MyClass;

 use constant {
    FOO => "bar"
 };

 sub new { ... }
Run Code Online (Sandbox Code Playgroud)

我希望我的常规FOO可以访问我的主程序.我想这样做而不必将其称为MyClass::FOO.通常,当包是一个单独的文件时,我可以在我的主程序中执行此操作:

use MyClass qw(FOO);
Run Code Online (Sandbox Code Playgroud)

但是,由于我的课程和程序是单个文件,我不能这样做.对于我的主程序来说,能够访问我班级中定义的常量的最佳方法是什么?

第二个问题......

我想使用常量值作为哈希键:

$myHash{FOO} = "bar";
Run Code Online (Sandbox Code Playgroud)

问题是%myHash将文字字符串FOO作为键而不是常量的值.当我做这样的事情时,这会导致问题:

if (defined $myHash{FOO}) {
   print "Key " . FOO . " does exist!\n";
}
Run Code Online (Sandbox Code Playgroud)

我可以强制上下文:

if (defined $myHash{"" . FOO . ""}) {
Run Code Online (Sandbox Code Playgroud)

我可以添加括号: …

perl constants

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

我是否必须在客户端程序中绑定UDP套接字才能接收数据?(我总是得到WSAEINVAL)

我创建一个UDP套接字(AF_INET,SOCK_DGRAM,IPPROTO_UDP通过Winsock的),并试图recvfrom在此套接字上,但它总是返回-1,我得到WSAEINVAL(10022).为什么?

当我bind()的端口,这不会发生,但我已经读到绑定客户端的套接字是非常蹩脚的.

我正在向我的服务器发送数据,该服务器回答或至少尝试过.

Inc::STATS CConnection::_RecvData(sockaddr* addr, std::string &strData)
{
    int ret;            // return code
    int len;            // length of the data
    int fromlen;        // sizeof(sockaddr)
    char *buffer;       // will hold the data
    char c;

    //recv length of the message
    fromlen = sizeof(sockaddr);
    ret = recvfrom(m_InSock, &c, 1, 0, addr, &fromlen);
    if(ret != 1)
    {
#ifdef __MYDEBUG__
        std::stringstream ss;
        ss << WSAGetLastError();
        MessageBox(NULL, ss.str().c_str(), "", MB_ICONERROR | MB_OK);
#endif
        return Inc::ERECV; …
Run Code Online (Sandbox Code Playgroud)

c++ winsock

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

如何在堆栈顶部重用活动

我的应用程序有一个名为"Main"的输入活动.在"Main"中,我调用其他三个活动A,B或C中的一个(基于首选项),然后立即退出/完成"Main",以便只有A,B或C处于活动状态.

我还在通知栏中有一个永久通知,用户可以下拉(随时)以方便地重新启动我的App(使用"Main"组件调用intent).

问题是如果我的应用程序已经运行并且用户下拉通知并重新启动,我会在之前的活动(也是A,或B或C)之上运行A或B或C. 我怎样才能避免这种情况(即重用堆栈顶部的活动)?

我尝试过Intent.FLAG_ACTIVITY_*,似乎没什么用.我
在Manifest中尝试过launchModes ,它似乎也没有用.有任何想法吗?任何帮助表示赞赏.... jh

android

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

在Clojure中将字段添加到代理类

我正在使用"代理"来扩展Clojure GUI应用程序中的各种Swing类,通常代码类似于:

(def ^JPanel mypanel 
  (proxy [JPanel] []
    (paintComponent [#^Graphics g]
      (.drawImage g background-image 0 0 nil))))
Run Code Online (Sandbox Code Playgroud)

这很好但我无法弄清楚如何向新扩展的类添加其他字段,例如使background-image成为可以随后更新的字段.这在Java中是非常简单和常见的做法.

在Clojure中有一个很好的方法吗?或者是否有另一种方法可以达到同样的效果?

java proxy swing extends clojure

9
推荐指数
1
解决办法
1117
查看次数