【问题标题】:Return DateTime equivalent from ATL control从 ATL 控件返回等效的 DateTime
【发布时间】:2014-12-04 21:19:30
【问题描述】:

我的任务是向现有 ATL 控件添加方法(代码可能已有 8 年的历史),该控件访问 .NET 代码并检索 DateTime 值,我想从我的 ATL 返回此值。

任何想法如何做到这一点?我尝试使用 COleDateTime,但这也不起作用。

【问题讨论】:

    标签: c++ winapi com atl


    【解决方案1】:

    SystemTimeToVariantTime 和朋友为您提供 COM 兼容的 DATE 值,.NET 通过互操作接受。

    STDMETHOD(Foo)(DATE* pfValue)
    {
      // ...
      SystemTimeToVariantTime(..., pfValue);
    

    【讨论】:

    • 您能详细说明一下吗?我的返回值应该是 SYSTEMTIME 吗?
    • 您的返回值为DATEVARIANT。要详细说明,您需要在 C++ 代码中提及您想要向 .NET 公开的时间/日期。
    • 我的返回类型是 DATE,我试图在 VBA 而不是 .NET 中使用它,我的控件是 .NET 而我的 ActiveX 控件是 C++
    猜你喜欢
    • 2014-12-11
    • 2010-12-16
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-06
    • 2012-05-01
    • 2016-03-17
    相关资源
    最近更新 更多