什么行业最容易做网站互联网门户网站建设管理 总结
news/
2025/9/23 14:16:03/
文章来源:
什么行业最容易做网站,互联网门户网站建设管理 总结,必须重视的问题之一,课程设计代做网站推荐这是一个ATL开发实例的流程#xff1a; 1. 在atl中插入一个atl实例#xff0c;然后添加一个类#xff0c;派生自ccmdtarget。 2. 添加相应的属性或者方法#xff0c;在这里需要明白一点的是#xff0c;这个属性和方法其实是一个概念#xff0c;只是添加一个属…这是一个ATL开发实例的流程 1. 在atl中插入一个atl实例然后添加一个类派生自ccmdtarget。 2. 添加相应的属性或者方法在这里需要明白一点的是这个属性和方法其实是一个概念只是添加一个属性就相当于添加了两个方法一个用于获取属性的一个用于设置属性的。 3. 注意一点atl具有自注册的功能我只需要对其进行build就可以实现注册的功能 4. 这就相当于创建了一个代码组件 接下来就是在工程中进行调用了调用的步骤如下 1. 首先我们用#import “…..dll”进行引入。注意这里引入的是dll而不是tlb(mfc写的组件调用的是tlb) 2. 用afxoleinit或者是Coinitialize(NULL)进行初始化。 3. 创建一个接口对象比如:IOperatorPtr m_p; 4. 对象实例化eg:m_p.CreateInstance(__uuidof(Operator));即可 5. 用接口调用接口函数即可。 接下来是一个实例 Atl中的主要代码 STDMETHODIMP CFace::test(long Amount, BSTR *pbstrResult) { // TODO: Add your implementation code here TCHAR szBuf[512]; WCHAR *wszBufnew WCHAR[512]; BSTR bstrNew; if (m_balanceAmount0) { wsprintf(szBuf,不能借款); MultiByteToWideChar(CP_ACP,0,szBuf,-1,wszBuf,512); bstrNew::SysAllocString(wszBuf); *pbstrResultbstrNew; } else { wsprintf(szBuf,借款成功); MultiByteToWideChar(CP_ACP,0,szBuf,-1,wszBuf,512); bstrNew::SysAllocString(wszBuf); *pbstrResultbstrNew; } return S_OK; } STDMETHODIMP CFace::get_Balance(long *pVal) { // TODO: Add your implementation code here *pValm_balance; return S_OK; } STDMETHODIMP CFace::put_Balance(long newVal) { // TODO: Add your implementation code here m_balancenewVal; return S_OK; } 下面是在程序中对这个代码组件的调用的主要代码初始化和实例化都已经在initialdialog中完成 void CAaDlg::OnButton1() { // TODO: Add your control notification handler code here UpdateData(); BSTR str; // CoInitialize(NULL); // if (FAILED(m_p.CreateInstance(__uuidof(Face)))) // { // AfxMessageBox(not found); // } strm_p-test(m_data); CString s(CString)str; AfxMessageBox(s); } void CAaDlg::OnButton2() { // TODO: Add your control notification handler code here UpdateData(); // IFacePtr ptr; // ptr.CreateInstance(__uuidof(Face)); // ptr-put_Balance(m_money); m_p-put_Balance(m_money); MessageBox(存款成功); } void CAaDlg::OnButton3() { // TODO: Add your control notification handler code here // CoInitialize(NULL); long l; // IFacePtr ptr; // if (FAILED(ptr.CreateInstance(__uuidof(Face)))) // { // AfxMessageBox(not found); // } // ptr-get_Balance(l); m_p-get_Balance(l); CString str; str.Format(%d元,l); MessageBox(str); } 注意在接口的设计的时候方法的参数的第二个为输出参数在程序中进行调用的时候我们调用的接口方法的参数只有一个。如果写两个参数的话编译器是通不过的。可以再外面设置一个变量用来获取接口方法返回的值。转载于:https://www.cnblogs.com/yangxiaoluck/archive/2009/11/25/1610289.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/912805.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!