小编Ass*_*vie的帖子

在长循环期间,Flex等效于ProcessMessages和无响应的UI

我发现我的Flex应用程序的UI在很长的处理循环(几十秒)内变得没有响应.例如,在处理非常大的XML文件并对每个元素执行某些操作时...

是否有"ProcessMessages"的等价物?也就是说,一个调用会告诉Flex继续响应UI事件,即使在一些长循环的中间,这样UI也不会无响应?

我知道Flex是单线程设计.这就是为什么我正在寻找像ProcessMessages()这样的函数 - 一个允许单线程可重入应用程序(如VB或基于单线程消息循环的C++应用程序)在长时间运行期间保持响应的函数.

答案摘要

  1. 有没有像内置函数HandleEvents()ProcessMessages()Flex中.
  2. 使用某种回调机制迭代地处理长计算过程的块,同时在块之间屈服于运行时,从而使其能够响应,是在长计算期间维持响应UI的唯一方法.
  3. 完成上述方法的方法是:
    1. 使用enterFrame事件,只要Flex应用程序下面的Flash"影片"图层刷新其帧(类似于20fps),就会调用该事件.
    2. 使用计时器.
    3. 使用UIComponent.callLater()哪些计划工作"稍后"完成.(正如文档所说:Queues a function to be called later. Before each update of the screen, Flash Player or AIR calls the set of functions that are scheduled for the update.
    4. 使用有意触发的鼠标/键盘事件来创建伪"工作线程",如本例所示.

如果有进一步的建议,或者我遗漏了任何东西,请随时编辑这个(现在的)维基片.

apache-flex user-interface

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

在C++中退出进程的不同方法

有多种退出流程的方法:

例如:ExitProcess,ExitThread(来自主线程),退出,中止,从main返回,终止.

我想知道每个方法对静态/全局/自动对象销毁的影响.

例如,我有一个项目在调用ExitProcess时崩溃(可能是由于一些释放错误),但是在调用exit()时却没有.(偶然地与这个问题有关).

所以基本上我想知道在哪种情况下发生上述对象的释放,以及以什么顺序(对于VC++).

c++ winapi visual-c++

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

巨大的整数JavaScript库

是否有任何JavaScript库可用于涉及700多个数字的计算?另外,C++中的同样的东西怎么样?

javascript c++ math

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

使用PostgreSQL进行多边形点的SQL查询

我有以下简单表:

CREATE TABLE tbl_test
(
  id serial NOT NULL,
  poly polygon NOT NULL
)
WITH (OIDS=FALSE);
Run Code Online (Sandbox Code Playgroud)

然后我尝试插入一个带有多边形的行:

insert into tbl_test values(1, PolyFromText('POLYGON((0 0, 10 10, 10 0, 0 0))'))
Run Code Online (Sandbox Code Playgroud)

并遇到这个错误:

列"poly"的类型为polygon,但expression的类型为geometry

哪个是蹩脚的.所以我的第一个问题是:

  1. 我真的要演员吗?

无论如何,在投射后它起作用.现在我正在尝试做一个简单的ST_Contains查询:

select id, poly from tbl_test where ST_Contains(poly, Point(GeomFromText('POINT(9 2)')))
Run Code Online (Sandbox Code Playgroud)

这给出了错误:

ERROR:  function st_contains(polygon, point) does not exist
LINE 1: select id, poly from tbl_test where ST_Contains(poly, Point(...
                                            ^
HINT:  No function matches the given name and argument types. You might need to add explicit type casts. …
Run Code Online (Sandbox Code Playgroud)

sql gis postgresql rdbms postgis

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

可以使用C++/CLI从本机C++应用程序调用.NET代码吗?

我已经用C++/CLI完成了另一种方式(从.NET调用纯C++代码),并且它(大多数情况下)都有效.

如何完成本机到C++/CLI的指导?

我真的不想使用COM互操作...

.net c++ interop c++-cli

10
推荐指数
2
解决办法
7686
查看次数

用简单的英语解析持续时间

我想找一个可以采用以下字符串的动作脚本库:

  • 两天
  • 2H
  • 一个月
  • 一周

并将它们解析为持续时间(以某个单位返回时间).

好像以前已经做了很多次,我讨厌自己实现这样的事情.

如果不是在actionscript然后在python(我可以在服务器端运行这个我猜).

(请注意我正在寻找解析,而不是格式化..)

apache-flex time actionscript

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

SVG标题延迟

我在<title>SVG中使用一个元素<rect>作为一种工具提示.有没有办法调整显示工具提示的延迟?在Chrome中,工具提示显示需要几秒钟,感觉非常慢.有趣的是,在显示第一个工具提示后,所有其他工具提示立即出现.

编辑

它似乎只在我的OSX Chrome上慢,而不是在Windows上.

小提琴:http://jsfiddle.net/assaflavie/aLyQr/

有没有办法将延迟缩短到几百毫秒?

css svg

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

具有数千个插入的MySQL事务 - 需要多少次"往返"?

我有C#代码通过ODBC访问MySQL.

它创建一个事务,执行几千个插入命令,然后提交.现在我的问题是,有多少"往返"可以说是针对数据库服务器发生的?我的意思是,它只是将每个插入命令传输到数据库服务器,还是缓存/缓冲它们并分批发送?这是可以配置的吗?

mysql sql database

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

如何向编译器表明函数总是抛出?

当调用始终从返回值的函数抛出的函数时,编译器经常警告并非所有控制路径都返回值.合法的.

void AlwaysThrows() { throw "something"; }

bool foo()
{
    if (cond)
        AlwaysThrows();
    else
        return true; // Warning C4715 here
}
Run Code Online (Sandbox Code Playgroud)

有没有办法告诉编译器AlwaysThrows的功能是什么?

我知道我可以throw在函数调用后添加另一个:

{ AlwaysThrows(); throw "dummy"; }
Run Code Online (Sandbox Code Playgroud)

而且我知道我可以明确地禁用警告.但我想知道是否有更优雅的解决方案.

c++ exception visual-c++

9
推荐指数
4
解决办法
1542
查看次数

如何迁移密码哈希?

如果我将密码存储为salted MD5哈希,但想要将它们移动到使用bcrypt,那么执行该转换的最佳方法是什么?(鉴于我无法取回密码)

我应该加密md5哈希吗?这样做是否存在我不想要的加密含义?

security passwords md5 bcrypt

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