小编Cha*_*son的帖子

仅扩展为其参数的PROTOTYPE宏有什么意义?

我有一个头文件,其中包含

#define PROTOTYPE(s) s
Run Code Online (Sandbox Code Playgroud)

这有什么意义呢?似乎它将只是用自身替换输入。

还有它周围的其他指令吨,但似乎有如果它被定义任何影响只是检查只有一个:#ifndef PROTOTYPE。我在HDF4头文件中找到了执行以下操作的位置:#define PROTOTYPE。因此,这些都不能真正解决我的问题。似乎还是没用的。

使用方法如下:

CS_RETCODE clientmsg_callback PROTOTYPE((
CS_CONTEXT * context,
CS_CONNECTION *connection,
CS_CLIENTMSG *clientmsg));
Run Code Online (Sandbox Code Playgroud)

这是使用Sybase Open Client的项目的一部分。稍后在此处使用clientmsg_callback:

ct_callback(context, NULL, CS_SET, CS_CLIENTMSG_CB,
                  (CS_VOID *)clientmsg_callback);
Run Code Online (Sandbox Code Playgroud)

我将从这里开始一个示例程序:

http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc35570.1570/html/clcprgde/clcprgde10.htm

clientmsg_callback稍后实现。我认为该示例最初是考虑到C而不是C ++编写的。也许与它有关?

c++ macros

80
推荐指数
2
解决办法
5949
查看次数

角度延迟加载动态组件

使用Angular 4.1.3,我正在开发一个延迟加载各种工具模块的地图应用程序.目前,有一个路由器插座,可将工具放置在地图中.但是,我需要支持将工具放在地图旁边的新选项卡中.该选项卡是动态创建的,以响应加载工具模块,并且可以同时打开多个选项卡.

创建选项卡组件很简单,似乎在新选项卡中放置动态组件加载器(https://angular.io/docs/ts/latest/cookbook/dynamic-component-loader.html),这是合理的将工具放在选项卡中的方法.但是,我不知道如何实际获取对工具组件的引用以将其传递给加载器,因为它是延迟加载模块的一部分.有没有办法让路由器将此传递给我的app.component而不是通过路由器插座输出?我已经考虑过将路由器插座放在一个隐藏的div中,然后在控制器中绑定它,但这看起来很糟糕,我不确定它是否会起作用.

我见过的一些类似的问题/答案似乎依赖于SystemJS,但我正在使用Webpack.

编辑:我在这里运行了一个基本的plunker:http://plnkr.co/edit/RPbyQZ4LyHN9o9ey2MJT?p = preview

那里的代码有一个非常基本的组件动态添加到选项卡

  export class ContentPaneComponent implements OnInit {
  @ViewChild('contentpane') el: ElementRef;

  @Output() newContent: EventEmitter<any> = new EventEmitter();

  private content: string;
  private contentSubscription: Subscription;

  private tab1 = new CompItem(htmlPaneComponent, {});
  // private tab2 = new CompItem(LayerManagerComponent, {});

  ngOnInit(): void {
  }

}
Run Code Online (Sandbox Code Playgroud)

tab1中指定的组件必须包含在content-pane.module的entrycomponents中 entryComponents: [htmlPaneComponent]

最终,我希望CompItem()在模块延迟加载时创建新的.当我激活路线时,例如:

{
    path: 'search', loadChildren:
    'components/conference-room-search/conference-room-search.module#ConferenceRoomSearchModule'
        }
Run Code Online (Sandbox Code Playgroud)

我认为我需要的是路由器给我一个模块或其组件的参考.

lazy-loading typescript angular2-routing angular

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

.NET core OPTIONS 请求返回 405 错误

我需要向 .NET core 3.1 API 添加 CORS 支持(是 2.2,但我决定同时更新)。我以为这会很容易。这里的文档: https: //learn.microsoft.com/en-us/aspnet/core/security/cors ?view=aspnetcore-3.1 看起来很简单。我希望在所有端点上支持相同的 CORS 策略。所以,我想我可以不理会我的控制器,只对startup.cs 进行更改。我缺少什么?

我有一个 POST 端点,但 OPTIONS 请求返回 405 错误。我认为 CORS 中间件应该处理请求,这样我就不必在控制器内部考虑 CORS。

启动.cs

  namespace MyAPI
  {
    public class Startup
    {

        readonly String ALLOW_ALL = "AllowAll";
        public Startup(IConfiguration configuration)
        {
            Configuration = configuration;
        }

        public IConfiguration Configuration { get; }

        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            // services.Configure<IISOptions>(options =>
            // { …
Run Code Online (Sandbox Code Playgroud)

c# cors http-status-code-405 .net-core

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

Observable.first().subscribe()代替Promise.then()

我有很多方法,我最近从返回的promises转换为返回的observables.目前,这些方法通常只返回单个值.所以,在我以前打电话的地方myMethod.then(),我转而去了myMethod.first().subscribe().我这样做而不仅仅是subscribe(),因为我希望自动完成并清理可观察和订阅.我对此的理解是否正确,这是一种合理的方法吗?

rxjs rxjs5

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