Click here to Skip to main content
15,923,006 members
Home / Discussions / Visual Basic
   

Visual Basic

 
GeneralRe: Want to crate a Collection Of Control Pin
hisuman1008-May-06 5:25
hisuman1008-May-06 5:25 
GeneralRe: Want to crate a Collection Of Control Pin
Robert Rohde8-May-06 6:07
Robert Rohde8-May-06 6:07 
Questionaudio recording for incoimg/outgoing voice Pin
mamindlapurnachender8-May-06 3:06
mamindlapurnachender8-May-06 3:06 
AnswerRe: audio recording for incoimg/outgoing voice Pin
jonathan158-May-06 4:06
jonathan158-May-06 4:06 
QuestionDatagrid.click (Function Pin
Macky1008-May-06 1:32
Macky1008-May-06 1:32 
QuestionVariant Pin
vikas99738-May-06 0:44
vikas99738-May-06 0:44 
QuestionRe: Variant Pin
Eric Dahlvang8-May-06 4:18
Eric Dahlvang8-May-06 4:18 
AnswerRe: Variant Pin
vikas99738-May-06 4:56
vikas99738-May-06 4:56 
Here is how I am sending it

Dim a(0 To 6) As Double
Dim Points As Variant
Dim np As Long
Dim nr As Long
Dim b(0 To 1) As Double
Dim Radii As Variant

a(0) = 0#
a(1) = 0#
a(2) = 0#
a(3) = 0#
a(4) = 0#
a(5) = 1.2


b(0) = 9.5
b(1) = 8.9

Radii = b

np = 2
nr = 2


MyCtrl1.Insert_Polycylinder np, Points, nr, Radii, "cap"

!!!!!!!!!!!
And here is how my control recieves it


STDMETHODIMP StreamCtrl::Insert_Polycylinder(int pcount, VARIANT * points_var, int r_count, VARIANT *radii_var, BSTR capping)
{
if (m_pView)
{
HPoint *points = new HPoint[2];
int dummy;
float *radii = new float[2];
char capping_char[4096];
ConvertToChar(capping_char,capping,4096);

GetPointArrayFromVariant(points_var, &points, dummy);
GetFloatArrayFromVariant(radii_var, &radii, dummy);
Insert_PolyCylinder(pcount, points, r_count, radii, capping_char);
}

return S_OK;
}

and then

Here are other relevent functions

void StreamCtrl::GetPointArrayFromVariant(VARIANT * varKeys, HPoint **arrayfloat, int &length)
{
int len;
GetArrayFromVariant(varKeys, (float **)arrayfloat, 0, 0,len);
length = len/3;

}

void StreamCtrl::GetArrayFromVariant(VARIANT * varKeys, float **arrayfloat, int **arrayint, char **arraychar, int &length)
{
length = 0;
VARIANT jArray;
VariantInit(&jArray);

if ((varKeys->vt & VT_TYPEMASK) == VT_DISPATCH) {
IDispatch* disp =
(varKeys->vt & VT_BYREF ? *varKeys->ppdispVal : varKeys->pdispVal);


DISPID DISPID_GET_SAFEARRAY(-2700L);


DISPPARAMS dispParams = {NULL, NULL, 0, 0};


HRESULT hr = disp->Invoke(DISPID_GET_SAFEARRAY, IID_NULL,
LOCALE_USER_DEFAULT,
DISPATCH_PROPERTYGET, &dispParams,
&jArray,
NULL, NULL);

if (SUCCEEDED(hr))
{

length = jArray.parray->rgsabound[0].cElements;
if (arrayfloat)
*arrayfloat = new float[length];
else if (arrayint)
*arrayint = new int[length];
else if (arraychar)
*arraychar = new char[length];

for (int i=0;i<length;i++)
{
VARIANT *res = (VARIANT *)jArray.parray->pvData+i;
if (arrayfloat)
(*arrayfloat)[i] = res->dblVal;
else if (arrayint)
(*arrayint)[i] = res->intVal;
else if (arraychar)
(*arraychar)[i] = res->bVal;
}

}
}
}
QuestionTextBox which accepts few characters. Pin
Chandan_Kr7-May-06 23:33
Chandan_Kr7-May-06 23:33 
AnswerRe: TextBox which accepts few characters. Pin
Mekong River8-May-06 0:28
Mekong River8-May-06 0:28 
AnswerRe: TextBox which accepts few characters. Pin
George B Gilbert8-May-06 12:44
George B Gilbert8-May-06 12:44 
Questioncompiler Pin
noor al-huda7-May-06 22:59
noor al-huda7-May-06 22:59 
Questionhow to get list of all registered domains Pin
narayanagvs7-May-06 22:46
narayanagvs7-May-06 22:46 
AnswerRe: how to get list of all registered domains Pin
Mekong River8-May-06 0:31
Mekong River8-May-06 0:31 
QuestionDatagridview control Pin
roitha7-May-06 22:17
roitha7-May-06 22:17 
AnswerRe: Datagridview control Pin
Mekong River8-May-06 0:42
Mekong River8-May-06 0:42 
QuestionOpen MDIChild Form Pin
roitha7-May-06 22:13
roitha7-May-06 22:13 
AnswerRe: Open MDIChild Form Pin
Mekong River8-May-06 0:37
Mekong River8-May-06 0:37 
QuestionWhat event handler to use for a "press once" key event? Pin
KaKa'7-May-06 21:53
KaKa'7-May-06 21:53 
AnswerRe: What event handler to use for a "press once" key event? Pin
Rizwan Bashir9-May-06 1:53
Rizwan Bashir9-May-06 1:53 
QuestionOracle and SQL Server Connection string in Visual Basic Pin
somrit7-May-06 20:57
somrit7-May-06 20:57 
Questionabout Date.ParseExact() function Pin
pptadam7-May-06 20:17
pptadam7-May-06 20:17 
AnswerRe: about Date.ParseExact() function Pin
Guffa7-May-06 21:46
Guffa7-May-06 21:46 
QuestionHow to move a chart of an excel file from vb.net into slide of power point file? Pin
jkrao7-May-06 19:34
jkrao7-May-06 19:34 
Questionvb.net Pin
amit_jpr7-May-06 19:32
amit_jpr7-May-06 19:32 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.