• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >vc/mfc > 请高手指点:如何把一个应用程序提供的现有的类加入到ActiveX工程,并使它可以运行。还有一堆问题,需要费心了

请高手指点:如何把一个应用程序提供的现有的类加入到ActiveX工程,并使它可以运行。还有一堆问题,需要费心了

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-06-04

佚名通过本文主要向大家介绍了请高手指点:如何把一个应用程序提供的现有的类加入到ActiveX工程,并使它可以运行。还有一堆问题,需要费心了等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: 请高手指点:如何把一个应用程序提供的现有的类加入到ActiveX工程,并使它可以运行。还有一堆问题,需要费心了
描述:

是这样的:
目前有一个项目,需要做P3-MIS接口,所谓P3就是Primavera Project Planner这个工程进度管理软件。
项目要求是在MIS中调用P3的某些功能,在网页中显示项目某些信息以及对项目实现一些基本操作。我对Web ActiveX什么的一窍不通,拿着P3中自带的一个VC例子不知道如何是好。该例子中只提供了一个P3Engine.h/.cpp文件,定义了几个对P3项目数据库的操作(这个P3版本采用本地Btrieve数据库,Ra连接,这个所谓的Ra连接我也不明白....)。
例子是基于一个对话框的程序,在安装了P3的机器上可以运行,但只示例了调用几个函数比如Login等,部分代码如下:
void CSampleDlg::OnOK() 
{
 BOOL bRet = FALSE;
 VARIANT vTmp;
 VariantInit(&vTmp);
 vTmp.vt = VT_I2;
 vTmp.iVal = 1;
 VariantChangeType(&vTmp, &vTmp, 0, VT_BOOL);
 UpdateData(TRUE);
 TRY {
      //此处的m_P3Session是p3Engine.h文件中定义的一个CP3Session类的变量
      //而Login函数在p3Engine.cpp中则为注解1中的内容
 bRet = m_P3Session.Login( m_sUsername, m_sPassword, vTmp);
      }
 CATCH ( COleDispatchException, e){
 m_P3Sess.ReleaseDispatch();
 MessageBox(e->m_strDescription, "Failed Login", MB_ICONEXCLAMATION);
 bRet = FALSE;
        }                       
 END_CATCH 
  
注解1:
//-----------------------------------------------
//BOOL P3Session::Login(LPCTSTR strUserName, LPCTSTR strPassWord, const VARIANT& vSerial)
// {
//   BOOL result;
//   static BYTE parms[] =
//   VTS_BSTR VTS_BSTR VTS_VARIANT;
//   //请看注解2
//   InvokeHelper(0x5, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
//                strUserName, strPassWord, &vSerial);
//    return result;
//  }
//--------------------------------------------------
注解2:InvokeHelper函数是ActiveX调用吗?如果是的话,那是P3程序安装时注册了一个ocx控件吗?因为我看到这个例子中有一个Sample.odl文件,内容如下:
--------------------------------------------------------
[ uuid(49239EC1-07C4-11D0-AE5E-00AA00BB718D), version(1.0) ]
library Sample
{
importlib("stdole32.tlb");
//{{AFX_APPEND_ODL}}
};
-------------------------------------------------------------
这个Sample.odl是如何加入工程的?加入就可以使程序调用该ocx了吗?加入后如何调用?(不好意思,我实在对ActiveX/COM一窍不通)
还有,我如果新建一个ActiveX工程,把P3Engine.h/.cpp文件加入工程,然后再加入Sample.odl,应该怎么样安排程序的结构才能使这个ocx能正常使用呢?
如果大侠们实在没有回答我的问题的欲望...请麻烦帮个忙,找几篇使用到了外部类的ActiveX教程给我,我找来找去,找不找这类教程啊!
感兴趣的也可以留下邮件,我将例子发去研究一下。
(不要求大家帮我代做)
谢谢!


解决方案1:

帮楼主顶!关注!


分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 请高手指点:如何把一个应用程序提供的现有的类加入到ActiveX工程,并使它可以运行。还有一堆问题,需要费心了

相关文章

  • 2017-06-05 ATL工程里面的rgs文件,似乎是个多余的存在
  • 2017-06-05 ProcModuleHandle函数求出的是谁的句柄?
  • 2017-06-04 关于COM,如果我用VC做了一个COM接口其中有个函数用了指针作为参数,那么VB调用时如何传入参数?
  • 2017-06-04 寻找一篇有关于COM的文章!
  • 2017-06-04 如何注册ActiveX控件?
  • 2017-06-04 BHO生成一个ie的子窗口
  • 2017-06-05 jpeglib2lib在多线程调用时会否出错?
  • 2017-06-04 如果我在没有vc。net的环境注册我的组件,需要那些文件。
  • 2017-06-04 关于IE的接口问题?
  • 2017-06-04 请教:在ATL中有没有能实现异步socket的类??

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • WTL多线程
    • 我在MFC扩展DLL中输出一个从CDialog的派生类,然后在应用程序中引用时出错在线等
    • vbscript创建对象的简单问题
    • 如何改变一个系统服务的状态?系统服务高人请进
    • 高分请教:如何让你的控件出现在word,插入——>对象——>新建页中的位置?
    • 返回VARIANT类型,varvt=vt_variant|vt_array,如何取其中的值?
    • 开发一个windowsservice程序能做什么事情?比如?
    • 调用会话的可执行文件//为什么atl程序运行弹出这个对话框呢?
    • 请大家看看我的ActiveXClass的一些属性吧!C:\WINDOWS\DownloadedProgramFiles
    • ALT,用自定义的结构类型做为参数,在C#中调用出现问题

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有