PDA

View Full Version : ارتباط با excel به عنوان dde client



zoncpp
یک شنبه 28 شهریور 1389, 10:52 صبح
سلام
در برنامه dde server خود چطور با excel به عنوان کلاینت ارتباط برقرار کنم؟
باید از فرمت xlTable استفاده کنم برای بازگشت مقدار به کلاینت.
آرایه xltable را چطور مقدار دهی کنم؟

zoncpp
دوشنبه 29 شهریور 1389, 10:41 صبح
در dde server ، برای بازگشت یک مقدار string به کلاینت excel من کد زیر را نوشتم که خوشبختانه درست کار می کنه و server من با excel ارتباط داره و excel داده ها رو دریافت می کنه.


// askrate is my string

byte xltableData[100];

// tdtTable record...
xltableData[0] = 0x10; // tdtTable
xltableData[1] = 0;
xltableData[1] = 4; // 2 short ints following
xltableData[1] = 0;
xltableData[2] = 1; // # rows
xltableData[1] = 0;
xltableData[3] = 1; // # cols
xltableData[1] = 0;

// tdtint record...
xltableData[4] = 0x02;
xltableData[1] = 0;
xltableData[5] = 16; // askrate.GetLength()*2+1 // askrate is my string
xltableData[1] = 0;
strcpy((char*)(xltableData+13), str);

return DdeCreateDataHandle(g_idInst, (UCHAR*)xltableData, 2*askrate.GetLength()+12, 0, g_hszItemName, fmt, 0);