Description: Variant variables can be in the COM/DCOM interface method of delivery (incoming, outgoing) variable-length array of structures, but it needs to be packaged reconciliation package, the efficiency is relatively low. This example uses the method size_is specified length, this is seen from the MSDN, but the example given on MSDN is not specific enough, it took some time to explore, the final test pass, to a friend new to COM sharing (the old guy They can ignore). This example needs to be done because it is the work of testing procedures, and therefore, there is a small amount of redundant code, we take note of the line, and also to reduce the number of parameters passed when the transmission of real-time (stochastic simulation) data only by the last one (No less opposite page), this Bug is without prejudice to the overall situation, therefore retained, although the Server supports DCOM, but the Client needs to run locally, if you want Remote, a little change it can.
File list (Check if you may need any files):
ClientCP
........\ClientCP.aps
........\ClientCP.clw
........\ClientCP.cpp
........\ClientCP.dsp
........\ClientCP.dsw
........\ClientCP.h
........\ClientCP.ncb
........\ClientCP.opt
........\ClientCP.plg
........\ClientCP.rc
........\ClientCPDlg.cpp
........\ClientCPDlg.h
........\EditItem.cpp
........\EditItem.h
........\MEMDC.H
........\MyConst.h
........\ReadMe.txt
........\res
........\...\ClientCP.rc2
........\resource.h
........\StdAfx.cpp
........\StdAfx.h
........\XComboList.cpp
........\XComboList.h
........\XHeaderCtrl.cpp
........\XHeaderCtrl.h
........\XListCtrl.cpp
........\XListCtrl.h
ClientDP
........\ClientDP.aps
........\ClientDP.clw
........\ClientDP.cpp
........\ClientDP.dsp
........\ClientDP.dsw
........\ClientDP.h
........\ClientDP.ncb
........\ClientDP.opt
........\ClientDP.plg
........\ClientDP.rc
........\ClientDPDlg.cpp
........\ClientDPDlg.h
........\EditItem.cpp
........\EditItem.h
........\MEMDC.H
........\MyConst.h
........\ReadMe.txt
........\res
........\...\ClientDP.rc2
........\resource.h
........\StdAfx.cpp
........\StdAfx.h
........\XComboList.cpp
........\XComboList.h
........\XHeaderCtrl.cpp
........\XHeaderCtrl.h
........\XListCtrl.cpp
........\XListCtrl.h
DataTransfer
............\CentralProgram.cpp
............\CentralProgram.h
............\CentralProgram.rgs
............\DataPlugins.cpp
............\DataPlugins.h
............\DataPlugins.rgs
............\DataTransfer.aps
............\DataTransfer.cpp
............\DataTransfer.dsp
............\DataTransfer.dsw
............\DataTransfer.h
............\DataTransfer.idl
............\DataTransfer.ncb
............\DataTransfer.opt
............\DataTransfer.plg
............\DataTransfer.rc
............\DataTransfer.rgs
............\DataTransfer.tlb
............\DataTransferps.def
............\DataTransferps.dll
............\DataTransferps.exp
............\DataTransferps.lib
............\DataTransferps.mk
............\DataTransfer_i.c
............\DataTransfer_i.obj
............\DataTransfer_p.c
............\DataTransfer_p.obj
............\dlldata.c
............\dlldata.obj
............\MyConst.h
............\MyStruct.h
............\resource.h
............\StdAfx.cpp
............\StdAfx.h
............\~VC212.tmp