当我在MSDN上阅读Application.Exit()的文档时,它说:
通知所有消息泵必须终止,然后在处理完消息后关闭所有应用程序窗口.
根据我的理解,为了通知所有消息泵终止,这种方法最终会将WM_QUIT消息发送到应用程序消息队列.发布消息后,该方法将关闭每个窗口(通过MSDN).问题出在这里,当这个方法试图关闭每个窗口时,WM_QUIT消息应该没有被处理,但是MSDN说"它在消息被处理后关闭所有窗口".
文档似乎与我的推论相矛盾.这里有什么问题,非常感谢任何帮助.
我想知道我什么时候没有在某些模块的 pom.xml 中指定插件版本,例如:
<build>
...
<plugin>
<groudId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
</plugin>
...
</build>
Run Code Online (Sandbox Code Playgroud)
我运行“mvn compile”时使用的默认插件版本是什么?
我已经尝试过了,实际上它使用的是 maven-compiler-plugin 版本“3.1”,上面的插件元素已注释,我的 maven 版本是 3.6.3。
我花了 1 个小时通过 Maven 的文档和相关帖子在谷歌上搜索,但没有找到确切的答案。我真的很想知道那个版本是如何决定的?如果有人知道任何线索,不胜感激。
当我最近阅读 Angular2 的doc 时,它是这样说的:
如果我两次导入同一个模块怎么办?
那不是问题。当三个模块都导入 Module 'A' 时,Angular 会在第一次遇到模块 'A' 时评估一次模块 'A',并且不会再这样做。
在导入模块的层次结构中出现的任何级别 A 都是如此。> 当模块'B'导入模块'A',模块'C'导入'B',模块'D'导入[C,B,A]时,然后'D'触发对'C'的评估,从而触发评估'B',评估'A'。当 Angular 到达 'D' 中的 'B' 和 'A' 时,它们已经被缓存并准备好了。
Angular 不喜欢带有循环引用的模块,所以不要让 Module 'A' ......
但我认为上述内容是在所有 Eager Loading Modules 的上下文中说明的。我怀疑这是否适用于延迟加载模块,例如,如果 AppModule 和延迟加载功能模块都导入相同的模块(例如 ModuleA),ModuleA 会被加载两次吗?
我的想法是:当 AppModule 和延迟加载模块加载时,会创建 ModuleA 类型的两个模块实例。我的理解正确吗?有人可以帮我澄清一下吗?先感谢您。
我在MSDN中看到,它说:
如果创建的窗口是子窗口,则其默认位置位于Z顺序的底部.如果创建的窗口是顶级窗口,则其默认位置位于Z顺序的顶部(但在所有最顶层窗口的下方,除非创建的窗口本身位于最顶层).(http://msdn.microsoft.com/en-us/library/windows/desktop/ms632680(v=vs.85).aspx)
但是,另一个文档说:当一个应用程序创建一个窗口时,系统将它放在同一类型窗口的z顺序的顶部 (http://msdn.microsoft.com/en-us/library/windows/ desktop/ms632599(v = vs.85).aspx)
当我像这样测试时,
btn1 = ::CreateWindow(L"button", L"OK", WS_TABSTOP|BS_DEFPUSHBUTTON|WS_VISIBLE|WS_CHILD
, 10, 10, 50, 30, hWnd, (HMENU)51, hInst, NULL);
btn2 = ::CreateWindow(L"button", L"Cancel", WS_TABSTOP|WS_CHILD|BS_PUSHBUTTON|WS_VISIBLE
, 20, 20, 70, 30, hWnd, (HMENU)52, hInst, NULL);
Run Code Online (Sandbox Code Playgroud)
新创建的子窗口(例如:我在窗口中创建了两个按钮并且它们重叠,我可以看到稍后创建的按钮覆盖了创建的第一个按钮)
MSDN中的第一个声明是否与我的测试相矛盾.
我正在查看从GitHub下载的NodeJS项目.它有一个主文件,server.js它使用ES6模块导入语法,如下所示:
import express from 'express';
import bodyParser from 'body-parser';
import fs from 'fs';
import { search } from './lib/words';
Run Code Online (Sandbox Code Playgroud)
我安装了NodeJS版本4.6.0,这很老了,我认为它不支持这种语法.相反,它应该像:
var express = require(express)
var bodyParser = require('body-parser')
...
Run Code Online (Sandbox Code Playgroud)
但是我可以正确地运行这个项目而没有错误,我认为这表明NodeJS支持这种语法,但NodeJS文档从未指定这样的模块语法.我们在这里使用它的原因是什么?谢谢你的帮助.
最近,当我使用Rxjs 5时,我通过使用npm install Rxjs@5.0.1从node_modules下的下载代码中下载了Rxjs,在Rxjs文件夹中找到了Observable.d.ts,我看到它声明了它的构造函数,如下所示:
*
* @constructor
* @param {Function} subscribe the function that is called when the Observable is
* initially subscribed to. This function is given a Subscriber, to which new values
* can be `next`ed, or an `error` method can be called to raise an error, or
* `complete` can be called to notify of a successful completion.
*/
constructor(subscribe?: <R>(this: Observable<T>, subscriber: Subscriber<R>) => TeardownLogic);
Run Code Online (Sandbox Code Playgroud)
我的问题是:在subscribe的函数类型声明中此关键字的用法是什么?:(此:Observable,...),TypeScript是否有一些有关此关键字用法的文档?谢谢。
我遇到了这个问题.我有一个简单的Win32程序,就像我在Visual Studio 2010的"模板 - > Visual C++"中选择"Win32项目"时可以得到的样板.
我发现所有其他基于Windows的程序,如Adobe Reader,Windows资源管理器具有以下功能:您将主窗口放大到新的大小,然后从文件菜单或系统菜单中选择"关闭"或"退出"关闭它,然后你再次启动程序,主窗口的大小将调整到上次.但是我从Visual Studio获得的程序作为引导程序没有这样的功能.
我对它进行了更多的研究,但无法找到WndClass或CreateWindow中的哪个设置,我可以通过调整来实现这一点.有谁知道,谢谢你的帮助.
winapi ×2
.net ×1
angular ×1
c# ×1
es6-modules ×1
java ×1
maven ×1
node.js ×1
rxjs5 ×1
typescript ×1
visual-c++ ×1
winforms ×1