问题列表 - 第32608页

MATLAB GUIDE gui listbox间歇性地消失,看似过时的错误

我正在使用GUIDE构建一个简单的MATLAB gui.我有一个项目列表框.大多数情况下,它按预期工作,但有时(通常在我使用GUIDE编辑图形后)填充列表框会导致它消失,以及此消息:

Warning: single-selection listbox control requires a scalar Value
Control will not be rendered until all of its parameter values are valid 
Run Code Online (Sandbox Code Playgroud)

这种行为无法调试!当我单步执行时,它按预期工作(我怀疑它是一种线程竞赛或其他东西).此外,在相同条件下重新启动MATLAB环境后,它通常会消失.

在此错误中找到的所有文档都涉及MATLAB的先前/古代版本(我使用的是R2010a).

任何有关此主题的想法或信息将不胜感激!


编辑:感谢米哈伊尔,我似乎已经解决了这个问题.我在这里发布我的代码以供将来参考.

经过大量的调试打印和疯狂点击之后,我发现有时候当您询问列表框选择的内容时,会得到一个空的结果.这个问题和其他问题使事情变得混乱.我把所有的写作交互都放到了一个集中的函数中,然后我写了一些测试代码,以确保事情保持原样.

请注意,这已经在我自己的环境(在R2010a上)进行了测试,而不是广泛的.此外,代码有点多余,但无论如何它让我感觉很好.(即itemcount不能小于0 ...)

function ensure_listbox_ok(handles)

%check to make sure it does not suck - ask what it has
thestrings = get(handles.listbox_files, 'String');
selection = get(handles.listbox_files, 'Value');

itemcount = length(thestrings);

betterselection = selection;

if(itemcount <= 0)
    betterselection = 1;
else
    if(selection > itemcount)
        betterselection = itemcount;
    end
end

%never use zero!!!! even …
Run Code Online (Sandbox Code Playgroud)

matlab user-interface intermittent race-condition matlab-guide

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

Bit twiddling:设置了哪个位?

我有一个64位无符号整数,正好设置了1位.我想为每个可能的64个值分配一个值(在这种情况下,奇数素数,因此0x1对应于3,0x2对应于5,...,0x8000000000000000对应于313).

似乎最好的方法是转换1 - > 0,2 - > 1,4 - > 2,8 - > 3,...,2 ^ 63 - > 63并查找数组中的值.但即使如此,我也不确定获得二进制指数的最快方法是什么.并且可能还有更快/更好的方法.

此操作将使用10 14到10 16次,因此性能是一个严重的问题.

c bit-manipulation

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

使用 Python 进行 IP 地址转换

我想将从十进制格式 (192.168.65.72) 文件中读取的 ip 地址转换为二进制格式 {110000001010100001000001010001000}。我正在从文件中读取十进制格式的 ip 地址。找到下面的代码片段。

/*contains 192.168.65.72*/
filter = open("filter.txt", "r")

for line in filter:
    bytePattern = "([01]?\d\d?|2[0-4]\d|25[0-5])"
    regObj = re.compile("\.".join([bytePattern]*4))
    for match in regObj.finditer(line):
        m1,m2,m3,m4 = match.groups()
        print "%s %s %s %s" %(m1, m2, m3, m4)
Run Code Online (Sandbox Code Playgroud)

我想将 m1、m2、m3 和 m4 分别转换为 8 位二进制值。我想不出一种方法来做到这一点。我是 python 新手。任何帮助将不胜感激。

干杯。

python

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

铸造代表

我对c#很陌生,所以我的问题可能很简单,但是这里有.

我一直在尝试与代表合作,并且有点坚持这个问题.

.....
    public delegate double delegateA();
    public delegate double delegateB();

    public static double myFunc()
    {
        return 0;
    }
    public static delegateA myTest()
    {
        return myFunc;
    }

    static void Main(string[] args)
    {
        delegateB myFuncDelegate;

        myFuncDelegate = myTest();  // <-- Error: Cannot implicitly convert type....
    }
.....
Run Code Online (Sandbox Code Playgroud)

我不知道如何使这个转换工作,除非使用相同的委托作为类型.但是在我的项目中,代表的名称会更加漂亮(因为它们存在于不同的类中).

希望您能够帮助我.

c#

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

LINQ,匿名类型和闭包问题

我有一段代码使用LINQ过滤列表,创建匿名类型的实例列表,并为每个实例分配一个事件处理程序:

// Select every linear expression and create a menu item from it
var items = from expr in expressionList.Expressions
            where expr.Type == ExpressionType.Linear
            let stdExpr = (StandardExpression)expr
            select new
            {
                Menu = new ToolStripMenuItem(stdExpr.Expression), // string
                stdExpr.Slot // int
            };

// Wire a Click event handler to each menu to set the tracked line
foreach (var item in items)
{
    item.Menu.Click += (s, e) => graph.SetTrackedLine(item.Slot);

    menuTrackLineWithMouse.DropDownItems.Add(item.Menu);
}
Run Code Online (Sandbox Code Playgroud)

这很有效,因为事件处理程序有线并且菜单被正确添加.单击菜单项时会出现问题,并触发处理程序.无论哪个菜单项触发了处理程序,只传递最后一个SetTrackedLine.

一个例子是,如果我有两个菜单,"sin(x)",带槽0,"cos(x)",带槽1,两个Click事件都传递1 …

c# linq closures anonymous-types

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

$ me = $ facebook-> api('/ me')不返回任何值

我正在使用New Graph API php sdk开发一个facebook iframe应用程序.我正在使用基本代码来显示我的名字.但它没有返回任何价值.有人请帮帮我.

<?php  

  include_once 'facebook.php';  
  include_once 'config.php';  

  $facebook = new Facebook(array('appId'  => FACEBOOK_APP_ID,  
                                 'secret' => FACEBOOK_SECRET_KEY,  
                                 'cookie' => true,));  

  $session = $facebook->getSession();
  $me = null;

  if ($session) {
    try {  
        $uid = $facebook->getUser();
        echo "Hello " . $uid . "<br />";   // This is displayed with my User Id

        $me = $facebook->api('/me');
       echo "Hello " . $me['name'] . "<br />";  // This is not displayed.

    } catch (FacebookApiException $e) {
        error_log($e);
    }
  }

if ($me) { …
Run Code Online (Sandbox Code Playgroud)

php facebook facebook-graph-api

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

如何使用C#映射驱动器?

如何使用C#映射网络驱动器.我不想使用net use或任何第三方API.

听说过C#代码中的UNC路径,但不太清楚如何去做.

.net c#

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

主键 - UUID主键的VARBINARY或BLOB或VARCHAR

我使用UUID作为其中一个表的主键.
将此字段用作varchar/varbinary/blob的优缺点是什么?

mysql database blob primary-key varbinary

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

Emacs/Auctex:自动启用/禁用LaTeX-Math模式

我正在将Emacs与AucTeX结合使用(运行Ubuntu 10.04,如果这很重要的话).

有没有人知道是否有办法自动启用LaTeX-math-mode(AucTeX的次要模式),如果该点在任何数学环境中(即a $...$,a $$...$$,begin{equation}...\end{equation}等等)?

我想有一个相对简单的答案,因为语法高亮使用相同的标准来着色数学的东西,但我找不到任何东西.

emacs auctex

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

window.close(),self.close()不适用于mozilla firefox

我想在注销时关闭窗口.我用过

  • window.close(),
  • self.close(),
  • var win = window.open("","_self"); win.close();
  • window.parent.close();

以上所有我已经使用IE中的所有工作,但在Mozilla Firefox中无法正常工作.

请给我解决方案.

谢谢.

javascript

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