我继承了从主线程调用BeginInvoke的代码(不是后台线程,通常是模式).我试图了解它在这种情况下的实际作用.
在BeginInvoke中调用的方法是否符合到窗口的消息?文档说asynchronously,这是我的假设.
框架如何确定何时启动BeginInvoke调用的方法?
编辑:代码如下所示:
System.Action<bool> finalizeUI = delegate(bool open)
{
try
{
// do somewhat time consuming stuff
}
finally
{
Cursor.Current = Cursors.Default;
}
};
Cursor.Current = Cursors.WaitCursor;
BeginInvoke(finalizeUI, true);
Run Code Online (Sandbox Code Playgroud)
这发生在Form_Load事件中.
我有一个对象,我希望能够读取和写入QDataStream.标题如下:
class Compound
{
public:
Compound(QString, QPixmap*, Ui::MainWindow*);
void saveCurrentInfo();
void restoreSavedInfo(QGraphicsScene*);
void setImage(QPixmap*);
QString getName();
private:
QString name, homeNotes, addNotes, expText;
Ui::MainWindow *gui;
QPixmap *image;
struct NMRdata
{
QString hnmrText, cnmrText, hn_nmrText, hn_nmrNucl, notes;
int hnmrFreqIndex, cnmrFreqIndex, hn_nmrFreqIndex,
hnmrSolvIndex, cnmrSolvIndex, hn_nmrSolvIndex;
}*nmr_data;
struct IRdata
{
QString uvConc, lowResMethod,
irText, uvText, lowResText, highResText,
highResCalc, highResFnd, highResFrmla,
notes;
int irSolvIndex, uvSolvIndex;
}*ir_data;
struct PhysicalData
{
QString mpEdit, bpEdit, mpParensEdit, bpParensEdit,
rfEdit, phyText, optAlpha,
optConc, elemText, elemFrmla,
notes;
int phySolvIndex, optSolvIndex;
}*physical_data; …Run Code Online (Sandbox Code Playgroud) 我发送UTF-8,日文文本到我的服务器.它适用于Firefox.我的access.log和标题是:
/ajax/?q=%E6%BC%A2%E5%AD%97
Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7
Content-Type application/x-www-form-urlencoded; charset=UTF-8
Run Code Online (Sandbox Code Playgroud)
但是,在IE8中,我的access.log说:
/ajax/?q=??
Run Code Online (Sandbox Code Playgroud)
出于某种原因,IE8正在将我的AJAX调用变成问号.为什么!?我根据一些教程添加了scriptCharset和ContentType,但仍然没有运气.
这是我的代码:
$.ajax({
method:"get",
url:"/ajax/",
scriptCharset: "utf-8" ,
contentType: "application/x-www-form-urlencoded; charset=UTF-8",
data:"q="+query ...,
...
})
Run Code Online (Sandbox Code Playgroud) 我正在使用NSXMLParser从feed获取新的RSS故事并在UITableView中显示它们.但是现在我想只拍摄图像,并将它们显示在UIScrollView/UIImageView中(并排显示3张图像).我完全迷失了.我使用以下代码从URL获取1个图像.
NSURL *theUrl1=[NSURL URLWithString:@"http://farm3.static.flickr.com/2586/4072164719_0fa5695f59.jpg"];
JImage *photoImage1=[[JImage alloc] init];
[photoImage1 setContentMode:UIViewContentModeScaleAspectFill];
[photoImage1 setFrame:CGRectMake(0, 0, 320, 170)];
[photoImage1 initWithImageAtURL:theUrl1];
[imageView1 addSubview:photoImage1];
[photoImage1 release];
Run Code Online (Sandbox Code Playgroud)
这是我已经完成的所有工作,对于一个图像,我必须指定确切的URL.你会建议我做些什么呢?
与C#中的代码约定相反,在JML代码中,合同只是在方法标题中以注释形式使用的文本.那么将它们作为Annotations公开会不会更好?这样,即使在编译信息时,也会在.class的元数据上持续存在,与评论相反,这会被删除.
我错过了什么吗?
自从我在2008年开始编码以来,我沉迷于它,我今天仍然.通常不是一天过去我不接触一些代码.我的意思到底是什么......我很快就会答应,我保证.我已经写了大约一年的PHP,我非常喜欢它和HTML 2,我无法得到它们.但是,我想将我的技能扩展到更大的领域.目前,我发现HTML真的很无聊,实际上UI(特别是HTML)是我想要做的项目的一部分.我知道一些Ruby,Python,java,C和Perl; 但是我希望能够像PHP一样熟练掌握其中的一些.
我想主要关注Ruby/ROR并学习Objective-C/Cocoa.我从英阳那里得到了书,但我还没有完全读完它们中的任何一本.
最后有什么问题,我可以在世界上如何专注于所有这一切,同时继续做我正在使用的PHP(正在制作中型应用程序).我有决心,我不会去任何地方(我要年轻,不喜欢死或什么),任何提示?
我有一个我自己的小头文件,它声明了几个函数,其中一个函数的返回类型为DWORD.我不愿意windows.h只是为了获得这种类型的官方定义,因为该文件非常庞大,我的标题将用于许多其他方式不需要它的源模块.
当然,在实践中我知道这DWORD只是unsigned int,但我更愿意采用更卫生的方法来包含官方头文件(如果可能的话).
在这个页面上它表示DWORD已定义windef.h,但不幸的是,只包含这个小文件直接导致编译错误 - 显然它希望被其他标题包含.(另外,我的文件是头文件的事实也意味着我不能只声明WIN32_LEAN_AND_MEAN,因为#includes我的文件的源文件可能需要保留未定义.)
有任何想法吗?我知道这不是世界末日 - 我可以继续#include <windows.h>- 但认为有人可能有更好的主意!
[编辑] 感谢您的回复.对于那些建议使用不同类型的人,让我解释为什么在这种情况下不可取:我在不同的源文件中设置了两个函数的不同平台特定版本,并要求CMake配置检测当前平台并选择要构建的那个.在Windows上,我的功能如下:
typedef DWORD TimePoint;
TimePoint GetTimeNow(void);
double TimeDifference(TimePoint start, TimePoint end);
Run Code Online (Sandbox Code Playgroud)
Windows版本GetTimeNow()只调用timeGetTime()具有返回类型的Windows API ,DWORD因此它必须具有相同的返回类型.(在其他平台上,TimePoint将有一个不同的类型,例如struct timeval在UNIXy平台上.)实际上,类型的值TimePoint是不透明的,你可以用它们做的唯一事情就是传递它们中的两个TimeDifference()来测量它们之间的经过时间(以秒为单位) .这实现了跨平台开发.不幸的是,它仍然意味着客户端代码必须知道具体类型TimePoint.
我正在尝试访问我班级的私人词汇.但我不明白与其他成员相比,让它运作所需的差异;
如果这样做:
private double dblDbl = 2;
//misc code
public double getDblDbl{ get{ return dblDbl; } }
为什么我不能用enum做呢?
private enum myEnum{ Alpha, Beta};
//misc code
public Enum getMyEnum{ get{ return myEnum; } }
//throws "Window1.myEnum" is a "type" but is used like a variable
对于我的学校项目,我想建立一个别人可以用来创建一个gui的gui.在一些研究中,我看到了很多gui建设者,但没有看到任何我想要的东西.
但后来我确实在这里找到了使用C#的教程
我宁愿为linux环境创建这个gui编辑器.
我应该从哪里开始建议?我可以用什么工具?任何教程的链接?
任何帮助/方向将不胜感激.
PS我想补充一点,它只需要非常简单.像一些文本输入字段和一些按钮类型字段,用户可以按所需的顺序排列.
我正在重建我的开发机器.这个问题对我来说并不陌生,但我不记得解决方案了.我从SQL 2008 Developer开始,然后是VS 2008 Pro,然后是SQL SP1,然后是VS SP1.结果是我无法打开SSIS项目(请参阅下面的错误).什么是正确的顺序,以便我可以避免安装SQL Server Express并仍然具有所有功能?
---------------------------
Microsoft Visual Studio
---------------------------
Package Load Failure
Package 'DataWarehouse VSIntegration layer' has failed to load properly ( GUID =
{4A0C6509-BF90-43DA-ABEE-0ABA3A8527F1} ). Please contact package vendor for
assistance. Application restart is recommended, due to possible environment
corruption. Would you like to disable loading this package in the future? You
may use 'devenv /resetskippkgs' to re-enable package loading.
---------------------------
Yes No
---------------------------
Run Code Online (Sandbox Code Playgroud) c ×2
c# ×2
c++ ×2
.net-2.0 ×1
ajax ×1
begininvoke ×1
enumeration ×1
enums ×1
header ×1
installation ×1
iostream ×1
iphone ×1
java ×1
javascript ×1
jml ×1
jquery ×1
linux ×1
multitasking ×1
objective-c ×1
qt ×1
sql-server ×1
ssis ×1
utf-8 ×1
windows ×1
xml ×1