2008年(884)
分类: C/C++
2008-08-06 10:01:32
int result; VARIANT LineVal; VARIANT DotVal; SAFEARRAY FAR * pLSA = NULL; SAFEARRAYBOUND dimension[1]; dimension[0].lLbound =0; dimension[0].cElements = MAX*10; pLSA = SafeArrayCreate( VT_BSTR,1,dimension ); Line FAR *pLineData=NULL; ::SafeArrayAccessData(pLSA,( void HUGEP* FAR*) &pLineData ); for (i=0;i然后就可以随意使用这两种结构了。=0有过流数据 BOOL CutFlag;//跳闸标志 }; //在ATL的idl文件中需要声明如下: typedef [ uuid(D124B04A-C5F9-4a16-9671-1E67B75DB1A1), helpstring("NetWork Node Struct") ] struct Line { long id;//id号 BOOL Power;//有电标志 BSTR LineName;//线路名称 long StaPoint_x;//起点x long StaPoint_y;//起点y long EndPoint_x;//终点x long EndPoint_y;//终点y short EndType;//1 负荷 2 电源 0 其它 long Longth; BOOL ShCirFlag;//短路标志 }Line; typedef [ uuid(D124B04A-C5F9-4a16-9671-1E67B75DB1A2), helpstring("NetWork Node Struct") ] struct Dot { long id; BOOL Power;//开合标志 BSTR DotName;//线路名称 long StaPoint_x;//起点x long StaPoint_y;//起点y long EndPoint_x;//终点x long EndPoint_y;//终点y short DotType;//可操作标志0 断路器不可遥控 1 断路器可遥控 2 刀闸 3 线路节点 4 变压器 short HighCurrent;//过流标志 BOOL CutFlag;//跳闸标志 }Dot;