问题列表 - 第8330页

NSURLConnection运行多次

我每隔5秒与服务器异步连接.URL是相同的,但每次更改POST主体.现在我每次都从头开始创建NSURL,NSURLRequest和NSURLConnection.

我认为设置连接一次更有效,并进一步使用它.我是新手,不确定是否可能.没有可变的NSURLConnection,但可能需要创建NSURLConnection,如:

NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL: url];
NSURLConnection *connection = [[NSURLConnection alloc] initWithRequest:request delegate:self];
Run Code Online (Sandbox Code Playgroud)

并更改NSMutableURLRequest POST数据以向服务器发送另一个请求.哪条路对不对?

iphone nsurlconnection

7
推荐指数
2
解决办法
9326
查看次数

这个来自"C程序设计语言"的代码如何工作?

我正在阅读"C编程语言"(第2版)并且在开头附近,它有这样的例子:

while((c = getchar()) != EOF)
    if(c == '\n'){
        ++n1;
Run Code Online (Sandbox Code Playgroud)

我可以看到这在读取文件时如何工作,我理解这种语法......但这只是从控制台读取 - 当从控制台输入字符时,如何发出文件结束信号?我正在使用Windows XP ... MinGW编译器...无论如何,这本书是为waaay早期的系统编写的,有像EOF按钮之类的东西吗?

更新

好吧,我还有一个问题,那就是文件结尾在Windows下如何运作.

如果我只是while(getchar()!=EOF);,那么我可以继续输入字符,直到我通过^ Z发出EOF信号.但是,我必须写一个换行符,然后点击^ Z,然后是另一个换行符...为什么它必须在它自己的行上?

c kernighan-and-ritchie eof

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

C#中的方法组是什么?

在以下情况下,我经常遇到一个错误,例如"无法从'方法组'转换为'字符串'"

var list = new List<string>();
// ... snip
list.Add(someObject.ToString);
Run Code Online (Sandbox Code Playgroud)

当然最后一行有一个拼写错误,因为我忘记了之后的调用括号ToString.正确的形式是:

var list = new List<string>();
// ... snip
list.Add(someObject.ToString()); // <- notice the parentheses
Run Code Online (Sandbox Code Playgroud)

但是我想知道什么是方法组.谷歌也不是MSDN的帮助.

.net c# method-group

336
推荐指数
5
解决办法
15万
查看次数

什么是Android应用程序更新问题和最佳做法?

我已经在Android市场上发布了一个Android应用程序,现在有更新要做.

我想知道你们中是否有人已经这样做了,你们可以分享一下这些经验:

  • 如何管理版本冲突?
  • 如何处理数据库?
  • 如果它是一个更新,你能看到一条带有"什么是新的"的消息,但没有什么是新的安装?
  • 您应该在更新之前备份旧数据吗?
  • 你遇到了什么麻烦,你是怎么解决的?
  • 可以更新部分(比如,只是一个补丁)?

欢迎任何建议.

android

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

在 Visual Studio 中使用自定义序言和尾声代码编写裸函数

我正在一个 dll 中编写一些插件代码,该代码由我无法控制的主机调用。

主机假定插件导出为 __stdcall 函数。主机被告知函数的名称和它期望的参数的详细信息,并通过 LoadLibrary、GetProcAddress 动态地调用它并手动将参数推送到堆栈上。

通常插件 dll 公开一个常量接口。我的插件公开了一个在 dll 加载时配置的接口。为了实现这一点,我的插件公开了一组在编译 dll 时定义的标准入口点,并根据需要将它们分配给正在公开的内部功能。

每个内部函数可能采用不同的参数,但这会与物理入口点名称一起传达给主机。我所有的物理 dll 入口点都定义为采用单个 void * 指针,并且我通过从第一个参数和已与主机通信的已知参数列表的偏移量工作,自己从堆栈中编组后续参数。

主机可以使用正确的参数成功调用我的插件中的函数并且一切正常......但是,我知道 a) 我的函数没有按照定义的那样清理堆栈作为采用 4 字节指针的 __stdcall 函数,因此即使调用者已将更多参数压入堆栈,它们也总是在最后执行“ret 4”。b) 我无法处理不带参数的函数,因为 ret 4 会在我返回时从堆栈中弹出 4 个字节太多。

将我的插件追踪到主机的调用代码后,我可以看到实际上 a) 没什么大不了的;主机会丢失一些堆栈空间,直到它从调度调用返回,此时它会清理它的堆栈帧,从而清理我的垃圾;然而...

我可以通过切换到 __cdecl 而根本不清理来解决 b)。我假设我可以通过切换到裸函数并编写我自己的通用参数清理代码来解决 a)。

由于我知道刚刚调用的函数使用的参数空间量,因此我希望它像以下那样简单:

extern "C" __declspec(naked) __declspec(dllexport) void  * __stdcall EntryPoint(void *pArg1)
{                                                                                                        
   size_t argumentSpaceUsed;
   {
      void *pX = RealEntryPoint(
         reinterpret_cast<ULONG_PTR>(&pArg1), 
         argumentSpaceUsed);

      __asm
      {
         mov eax, dword ptr pX
      }
   }
   __asm
   {
      ret argumentSpaceUsed
   }
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为 ret …

plugins calling-convention stdcall visual-studio-2008

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

使用Orca从命令行编辑msi?

我正在使用Visual Studio 2008并为我的应用程序创建了一个安装项目.该应用程序具有高分辨率图标(适用于Vista).Visual Studio中存在一个错误,安装程序会创建一个带有低分辨率图标的桌面快捷方式.

我在Microsoft Connect(https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=338258)中记录了这个错误,最后得到了一个答案,即使用Orca编辑msi文件并替换图标.解决方案很好.

现在我想自动化该过程,所以我可以将它包含在我的构建脚本中.有没有办法做到这一点?

icons windows-installer orca visual-studio-2008

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

双击时如何使Windows批处理文件暂停?

我写了一个批处理文件来自动执行某些任务.我可以从命令窗口运行它,它运行并显示结果.如果我从资源管理器中双击它,它会立即运行并终止,所以我看不到结果.

有没有办法让批处理文件窗口保持打开状态,直到我解雇它,如果我通过双击图标启动它?

当我从命令行调用批处理文件时,我不想传递/ nopause参数.我想要一个解决方案,我可以使用批处理文件,而不必做任何太特别的事情?

谢谢.

注意我不希望它从命令行运行时暂停!! 我可以从另一个批处理文件中调用此批处理文件来执行一系列操作.在那种情况下,我不能坐在那里继续打击进入.

理想情况下,最好是我可以在批处理文件中放入一些代码,以便它可以解决它从哪里开始,然后暂停或不适当.

windows batch-file

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

如何在重定向到login.aspx后保留url中的参数

我有以下路线:

{语言}/{控制器} .mvc/{动作}/{ID}

一旦用户选择了语言,它就会以路由值语言进行维护.

HTTP://本地主机:4000 /德/ Account.mvc /注册

如果用户点击需要修改的页面,我会遇到问题.然后他被重定向到http:// localhost:4000/Account.mvc/Login?ReturnUrl =%2fde%2fAccount.mvc%2fProfileData

登录页面在web.config中配置,不允许路由中的参数.登录后的页面正常(http:// localhost:4000/de/Account.mvc/ProfileData),但登录页面本身没有路由值语言.

我怎样才能解决这个问题?

编辑

我使用了Darin的答案,但必须包含原始Authorize过滤器(AuthorizeAttribute.cs)中的所有代码.原因记录在该文件中.它处理未经授权的用户可能从缓存中获取安全页面的情况.

以下是代码中的注释:

            // ** IMPORTANT **
            // Since we're performing authorization at the action level, the authorization code runs
            // after the output caching module. In the worst case this could allow an authorized user
            // to cause the page to be cached, then an unauthorized user would later be served the
            // cached page. We work around this by telling proxies …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc forms-authentication

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

使用css选择器查​​找DOM元素的最佳方法

在不使用库的情况下,使用css选择器查​​找Dom元素的最简单方法是什么?

function select( selector ) {
 return [ /* some magic here please :) */ ]
};

select('body')[0] // body;

select('.foo' ) // [div,td,div,a]

select('a[rel=ajax]') // [a,a,a,a]
Run Code Online (Sandbox Code Playgroud)

这个问题纯粹是学术性的.我有兴趣了解这是如何实现的以及"障碍"是什么.这个函数的预期行为是什么?(返回数组,或返回第一个Dom元素等).

javascript css-selectors

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

对于网页上的嵌入对象使用wmode ="transparent","opaque"或"window"之间的差异

当使用<object>and <embed>标签嵌入Flash对象时,会有一个名为的属性wmode.似乎大部分时间wmode="transparent"都与wmode="opaque"Flash实际上没有任何透明颜色相同,因此底部HTML元素将被显示.因此,opaque应该比transparent由于需要更少的透明处理更快,但大多数时候我看到嵌入的Flash对象transparent而不是opaque.

opaque 需要使Flash对象不会覆盖其他HTML元素(例如弹出额外子菜单的菜单项不会被Flash对象覆盖).

顺便说一句,有没有正式文件wmodeopaque,transparentwindow?我只能找到描述它的博客,但不能找到正式的文档.谢谢.

embed flash object wmode

74
推荐指数
3
解决办法
16万
查看次数