亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? 如何用vc++和vfp進行activex數據通訊.txt

?? C_C++技巧集
?? TXT
字號:
作者:SKYHORSEBJ
email: XUEY@CIDC.COM.CN
日期:2001-7-4 17:31:33
在進行軟件開發的過程中,如何在不同的編程工具之間進行數據交換和通訊,需要進行不斷的探索和總結。我們在開發機械CAD仿真軟件的過程中,遇到了在VC++中讀取和修改Visual Foxpro中數據的問題。經過許多次的試驗,我們通過采用自動服務器(ActiveX Automation)的方法圓滿解決了這個問題。 

---- 自動服務器,以前稱為OLE Automation,后來稱為ActiveX OLE Automation,就是編寫能被其他程序調用的代碼。其他程序不是以DLL的孤立方式而是直接調用自動服務器的用戶代碼。這其中比較難理解的概念是:自動服務器用戶代碼向其他應用程序揭示了屬性(變量)和方法(函數)。以下將以整型和雙精度(對浮點型同樣適用)的數據傳遞為例,講述如何用ActiveX Automation在VC++和Visual Foxpro之間進行數據通訊,例子中的編程工具為VC++ 5.0和Visual Foxpro 5.0。 

---- 一.在Visual Foxpro中創建自動服務器 

---- 1. 在Visual Foxpro中定義服務器類(此例中為CDATA類)首先在某目錄下新建一工程,在工程管理器中選擇代碼欄,同一目錄下新建一程序(如MyServer.prg),并在此程序文件中定義服務器類。 

         *File Name: MyServer.prg
         DEFINE CLASS CData AS Custom OLEPUBLIC
            *對VC++而言, para1為整型, para2為double型
            para1=123
            para2=123.123
            PROCEDURE ChangeData
               this.para1=this.para1*2
               this.para2=this.para2*2
               RETURN
            ENDPROC
         ENDDEFINE

---- 2. 將上述程序聯編為可執行程序(如MyServer.exe) 

---- 選中程序MyServer,點擊“連編”按鈕,選擇“連編可執行程序”選項,并按確定,便可生成可執行程序。 

---- 二.在VC++中對自動服務器進行測試 

---- 1.關閉Visual Foxpro,在VC++中選擇菜單項“File-New”,再選擇“Projects”中的“MFC AppWizard (exe)”選項,隨后按默認方式生成“Dialog Based”的工程項目(此例中工程名為MyTest)。 

---- 2.在MyTest.cpp中的APP類的InitInstance()函數開頭加入OLE使能 

             BOOL CMyTestApp::InitInstance()
           {
	               BOOL OleEnable=AfxOleInit();
	               if(!OleEnable) return FALSE;
                   ……
            }

---- 3.在ClassWizard中選“Automation”中的“Add Class-From a type library”。在“Import from type library”對話框中找到剛才所創建的Visual Foxpro工程目錄下的tlb文件(如MyServer.tlb)并選擇“打開”按鈕,會有提示說明將要從Lib中生成CDATA類,點擊OK按鈕加以確認,將自動在項目中加入與CDATA類有關的文件MyServer.cpp和MyServer.h。在ClassView中可查看CDATA類的函數,如GetPara1()、SetPara1()和CHANGEDATA()等。這里要注意類名CDATA和函數名CHANGEDATA()的大小寫請參看具體的頭文件MyServer.h。 

---- 4.在對話框類(此例中為CMyTestDlg)的頭文件MyTestDlg.h的開頭部分,將CDATA類的頭文件MyServer.h包含進來。隨后定義CDATA類的實例m_data作為對話框類的成員變量。 

            // MyTestDlg.h : header file
            #include "myserver.h"
             ……
            class CMyTestDlg : public CDialog
            {
               // Construction
               public:
	               CMyTestDlg(CWnd* pParent = NULL);
                   // standard constructor
               private:
	               CDATA m_data;  //定義CDATA類的實例m_data
               ……
             }
             ……

---- 5.在對話框的初始化部分(如InitDialog()函數中)加入 

            m_data.CreateDispatch(“MyServer.CDATA);

---- 6.使用自動服務器的通訊編程 

---- 此例中,我們在對話框中設置一命令按鈕“Test”,通過點擊該按鈕來對自動服務器進行測試。 

void CMyTestDlg::OnButtonTest() 
{
	//首先利用CDATA類的GetPara1()
    等取值函數取出Foxpro中的變量值,
	//再利用CDATA類SetPara1()
    等賦值函數來修改Foxpro中的這些變量值
	//也可以在VC++中調用CDATA
    類的函數CHANGEDATA()來修改變量值
	//定義tagVARIANT型變量,
    請參看有關tagVARINAT的幫助
	tagVARIANT mypara1, mypara2;
	mypara1=m_data.GetPara1();
    //讀取Foxpro中的變量值para1
	mypara2=m_data.GetPara2();
    //讀取Foxpro中的變量值para2
	//檢驗讀取數據是否正確(Foxpro設定為123和123.123)
	if(mypara1.iVal==123)
		MessageBox("mypara1.iVal=123");
	if(mypara2.dblVal==123.123)
		MessageBox("mypara2.dblVal=123.123");

	//修改這些變量值(也可用調用
     CHANGEDATA()的方式來修改變量值)
	mypara1.iVal=mypara1.iVal*2;
    //整型變量乘以2
	mypara2.dblVal=mypara2.dblVal*2.0;
    //double型變量也乘以2
	m_data.SetPara1(mypara1);  
    //向Foxpro賦值
	m_data.SetPara2(mypara2);
    //再次讀取Foxpro中的變量值
	mypara1=m_data.GetPara1();
	mypara2=m_data.GetPara2();
	//檢驗修改數據是否正確(應改為246和246.246)
	if(mypara1.iVal==246)
		MessageBox("mypara1.iVal=246");
	if(mypara2.dblVal==246.246)
		MessageBox("mypara2.dblVal=246.246");
}
  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产精品乱子久久久久| 国产自产高清不卡| 高清国产一区二区| 国产亚洲欧美色| 国产精品中文欧美| 综合久久给合久久狠狠狠97色 | 亚洲国产高清在线| 成人app网站| 亚洲一区二区精品视频| 欧美日韩的一区二区| 婷婷成人激情在线网| 2020国产精品自拍| 成人app在线| 97se亚洲国产综合在线| 午夜精品123| 爽爽淫人综合网网站| 国产精品色婷婷| ...av二区三区久久精品| 777色狠狠一区二区三区| 国产jizzjizz一区二区| 成人的网站免费观看| 成人av动漫网站| 欧美性猛交xxxxxx富婆| 激情综合网天天干| 一区二区三区精密机械公司| 日韩欧美一级在线播放| 北条麻妃一区二区三区| 国内久久婷婷综合| 成人黄色在线网站| 精品视频一区二区三区免费| 成人av资源在线| 欧美在线视频全部完| 成人一级视频在线观看| 久久精品99国产精品日本| 亚洲一二三区在线观看| 国产亚洲人成网站| 亚洲免费伊人电影| 国产精品久久久久三级| 国产日韩精品一区二区三区| 日韩一级大片在线观看| 欧美日韩一区二区三区在线 | 性欧美疯狂xxxxbbbb| 国产精品三级久久久久三级| 亚洲免费观看高清完整| 精品一区免费av| 色婷婷久久综合| 91亚洲国产成人精品一区二三| 国产美女一区二区三区| 国产精品影视天天线| 欧美午夜电影一区| 国产精品日产欧美久久久久| 亚洲成人三级小说| www.视频一区| 久久品道一品道久久精品| 久久品道一品道久久精品| 亚洲一区二三区| 成人h动漫精品一区二区| 日韩欧美久久久| 亚洲一本大道在线| 91美女在线观看| 国产精品视频一二三区| 九色|91porny| 7777精品伊人久久久大香线蕉| 日韩理论电影院| 成人在线综合网站| 久久青草欧美一区二区三区| 日韩av在线播放中文字幕| 激情综合色播激情啊| 欧美美女直播网站| 日韩欧美一区二区三区在线| 一区二区三区精品在线| 99国产精品久久久久| 国产精品久久久久四虎| 国产成人综合亚洲网站| 色天天综合色天天久久| 国产精品免费人成网站| 成人福利视频网站| 国产精品情趣视频| 成人看片黄a免费看在线| 国产亚洲欧美一区在线观看| 国产剧情av麻豆香蕉精品| 久久综合丝袜日本网| 精品亚洲欧美一区| 国产色产综合色产在线视频| 国产精品一区二区久久不卡| 国产蜜臀av在线一区二区三区| 国产精品一级黄| 国产精品免费视频网站| 99久久国产综合精品麻豆 | 一本色道久久综合狠狠躁的推荐| 中文欧美字幕免费| 99久久久无码国产精品| 亚洲欧美经典视频| 欧美色偷偷大香| 麻豆精品久久久| 欧美午夜影院一区| 婷婷国产v国产偷v亚洲高清| 欧美一级欧美三级| 18成人在线视频| 91成人在线免费观看| 国产精品毛片高清在线完整版| 成人短视频下载| 亚洲中国最大av网站| 欧美一级生活片| 成人性视频免费网站| 亚洲一区二区三区视频在线| 91麻豆精品国产91久久久久久| 国产一区在线视频| 亚洲精品五月天| 本田岬高潮一区二区三区| 伊人开心综合网| 欧美一级理论片| 岛国精品在线观看| 午夜久久久久久久久 | 天天色综合天天| 久久亚洲捆绑美女| av不卡一区二区三区| 舔着乳尖日韩一区| 国产亚洲成年网址在线观看| 在线免费观看视频一区| 青青草精品视频| 日韩写真欧美这视频| 不卡一区在线观看| 久久国内精品自在自线400部| 欧美极品少妇xxxxⅹ高跟鞋 | 黄色精品一二区| 有码一区二区三区| 国产亚洲成av人在线观看导航| 91极品美女在线| 成人妖精视频yjsp地址| 秋霞影院一区二区| 亚洲欧美国产毛片在线| 久久久久久一二三区| 欧美亚洲精品一区| 99国产欧美另类久久久精品| 国产原创一区二区| 日韩高清在线电影| 亚洲激情图片qvod| 亚洲欧美综合在线精品| 精品国产3级a| 国产一区 二区| 舔着乳尖日韩一区| 亚洲国产成人porn| 亚洲视频一区二区免费在线观看| 91精品国产综合久久精品| 欧美亚男人的天堂| 99国产精品国产精品毛片| 国产91色综合久久免费分享| 日韩国产欧美在线播放| 亚洲一级二级三级在线免费观看| 国产精品白丝在线| 日本一区二区免费在线观看视频| 日韩欧美一区二区久久婷婷| 欧美精品自拍偷拍| 欧美性生活一区| 欧美日韩久久久久久| 日本韩国一区二区三区视频| 成人激情免费网站| 99精品黄色片免费大全| 成人国产精品免费观看动漫| 成人一区二区视频| 成人小视频免费观看| 成人午夜在线视频| 91蜜桃免费观看视频| 欧美性受xxxx黑人xyx性爽| 欧美在线视频日韩| 欧美精品日日鲁夜夜添| 欧美一二三在线| 欧美电影免费观看高清完整版 | 一区二区高清在线| 亚洲资源中文字幕| 日韩精品成人一区二区三区| 久久99久久久久| 国产精品综合在线视频| 成人视屏免费看| 欧美日韩一区不卡| 精品国产一区二区三区久久久蜜月 | 91精品黄色片免费大全| 欧美电影免费提供在线观看| 国产亚洲欧美一区在线观看| 亚洲女人****多毛耸耸8| 天堂久久一区二区三区| 国产在线乱码一区二区三区| 成人精品小蝌蚪| 欧美日韩三级一区二区| 久久久一区二区| 亚洲精品五月天| 黑人巨大精品欧美一区| jvid福利写真一区二区三区| 欧美日韩在线一区二区| 久久人人超碰精品| 一区二区三区在线观看视频| 国产在线一区二区综合免费视频| 成人综合日日夜夜| 欧美精品乱人伦久久久久久| www亚洲一区| 一区二区三区中文在线观看| 精品一二线国产| 欧美日韩另类一区| 中文字幕欧美激情一区|