我遇到了一个相当奇怪的小问题.
在下面的代码中我无法理解怎么e可能null;
try
{
//Some Code here
}
catch (Exception e)
{
//Here e is null
}
Run Code Online (Sandbox Code Playgroud)
据我所知,throw null将转换为throw new NullReferenceException().
问题似乎与多线程有关,因为删除另一个线程似乎也解决了它.或者至少我在上面的代码在新线程中运行时才看到这个.整个程序使用很多线程,有点复杂.
无论如何我的问题是,怎么可能e是null? - 希望答案可以帮助找到这个问题的根源.
编辑 我发现它,因为它在catch语句中引起了NullReferenceException,并且使用调试器我看到同样的事情.
编辑2 第二天打开VisualStudio再次尝试,没有代码更改,现在相同的口号被"调用",但这次e不是null.看起来这是一个VS故障.
我正在为关键字创建输入字段,而用户正在编写我在插入符号位置下方的列表上显示关键字的建议.输入字段是单行,因此我使用向上/向下箭头键选择建议,然后按Enter键插入.它主要是工作,但有一个很大的例外,即向上/向下键也会将插入位置改变为插入/结束TextField.
我已经尝试过使用preventDefault()并且stopImmediatePropagation()在KeyboardEvent.KEY_DOWN事件监听器中我也用来更改所选的建议,但这并没有改变任何东西.当KeyboardEvent.KEY_DOWN事件被触发时,我检查了carret还没有移动,视觉上我可以看到它在释放钥匙之前正在移动(按键).
我可以保存插入位置,然后重置默认行为.但这恰恰涉及一些使用计时器的类似黑客的代码.
那么有谁知道如何防止默认行为?
有谁知道如何在AS3中创建具有可见边框和圆角的动态文本字段?
我想我可能需要创建一个圆形的动画片段,调整大小并将其放在文本后面.
我试过这个,但我没有看到任何变化.
var styleRound:StyleSheet = new StyleSheet();
styleRound.parseCSS("h4{cornerRadius:10;borderStyle: solid; borderThickness: 1;}");
tf.htmlText = "<h4>" + hotspotData.caption + "</h4>";
tf.styleSheet = styleRound;
Run Code Online (Sandbox Code Playgroud) 我正在玩流媒体直播视频到Flash Player.问题是,从我的日志中可以看出,许多用户将打开一个实时视频源,然后让它全天开放,无论他们是否真正在观看它.
可以想象,这是一个可怕的带宽浪费.所以我想要一种方法来确定用户是否正在主动观看Feed,如果没有,请关闭它.包含Flash组件的窗口至少应该是活动窗口.
可以这样做吗?你能想到什么解决方案?
谢谢!
是否有一种直接的方法用graphics.lineTo()/ moveTo()绘制3d线?我没有遇到过任何问题.这两种方法都只使用x/y作为坐标.
我在我的精灵上使用'z'坐标,并希望将它们与线连接......感谢帮助
在Flex Builder 3中使用Action Script 3.
在处理SOCKET_DATA事件时,我偶尔会看似随机,得到"错误#2030:遇到文件结尾".调用socket.readInt()时.我很困惑这个错误意味着什么,因为我不是在读文件?我对套接字有点不了解.谢谢.
我注意到在Java等其他语言中有像Vector2d这样的对象有一个乘法方法.我如何使用Actionscript 3做同样的事情?我知道Point或Vector3D类有add/substract方法,但都没有提供乘法/除法方法.
乘以两个Point对象的最佳方法是什么?会是这样的吗?
var p1:Point = new Point(10, 20);
var p2:Point = new Point(30, 40);
var p3:Point = new Point((p1.x * p2.x), (p1.y * p2.y));
Run Code Online (Sandbox Code Playgroud)
还有为什么会在这些类中省略乘法/除法?
编辑*这是我在Java中看到的Vector2d类的链接:Java Vector2d乘法