powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Динамический массив???
12 сообщений из 12, страница 1 из 1
Динамический массив???
    #32394604
VC_ASD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я создаю в VB динамический массив, после этого мне надо его передать в dll на VC 6.0 , а потом уже обработанный в dll массив использовать дальше в VB проекте.
В VB я пишу
Public Declare Function ww Lib "QQ.dll" (ByRef matrix() As Long, ByVal x As Long, ByVal i As Long, ByVal j As Long) As Boolean

На VC
bool CQQ::ww (long **n,long x,long i,long j)
{
n=new long * ;
int g1,g2;
long f;
for (g1=0;g1<i;g1++)
{
n[g1]=new long [j];
}
for (g1=0;g1<i;g1++)
{
for (g2=0;g2<j;g2++)
{
f=n[g1][g2];
if (f>=x) f=f+15;
if (f<x) f=f-15;
if (f>255) f=255;
if (f<0) f=0;
n[g1][g2]=f;
}
}
return true;
}
...
Рейтинг: 0 / 0
Динамический массив???
    #32394609
Фотография JibSkeart
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А в чем собсвенно то проблема ?

____
...
Рейтинг: 0 / 0
Динамический массив???
    #32394696
VC_ASD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А дело вот какое. Массив который передаю из VB в dll остается не обработанным т.е. значения в массиве до обработки в dll и после ничем не отличаются хотя по плану должны.
...
Рейтинг: 0 / 0
Динамический массив???
    #32394699
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
все неправильно.

1. VB Boolean = VC short = VC VARIANT_BOOL
2. VB matrix() as long = OLE SafeArray, есть поддержка в ATL и ComUtils.h
...
Рейтинг: 0 / 0
Динамический массив???
    #32394703
VC_ASD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Насчет второго не понял? VB matrix() as long = OLE SafeArray
...
Рейтинг: 0 / 0
Динамический массив???
    #32394989
maratka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
юзай COleSafeArray однозначно!
...
Рейтинг: 0 / 0
Динамический массив???
    #32395000
alex_k
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Динамический массив???
    #32397171
VC_ASD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо всем за ответы, я сделал без COleSafeArray вроде все работает.

VB:

Private Declare Function ww Lib "QQ.dll" (ByRef ar As Long, ByVal b As Long, ByVal h As Long, ByVal g As Long)
ww(ar(1,1),b,h,g)

VC:

void CQQ::ww (long *n,long x,long h, long g)
{

int g2;
long f;

for (g2=0;g2<(g*h);g2++)
{
f=n[g2];
if (f>=x) f=f+15;
if (f<x) f=f-15;
if (f>255) f=255;
if (f<0) f=0;
n[g2]=f;
}
}
...
Рейтинг: 0 / 0
Динамический массив???
    #32397329
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ню-ню...

а теперь покажи, как ты в VB это хозяйство вызываешь?
...
Рейтинг: 0 / 0
Динамический массив???
    #32397383
VC_ASD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
А в VB это хоз. вызываю так:

i = Val(Text1.Text)
j = Val(Text2.Text)

ReDim ar(1 To i, 1 To j)

For i1 = 1 To i
For j1 = 1 To j

ar(i1, j1) = -10

Next j1
Next i1

f = ww(ar(1, 1), 4, i, j)

Если теперь посмотреть массив то можно увидеть что он изменился.
В VC я сделал небольшую ошибку не void, а short :).
...
Рейтинг: 0 / 0
Динамический массив???
    #32398088
Фотография vdimas
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
хитер...
но делать так не стоит...
...
Рейтинг: 0 / 0
Динамический массив???
    #32398138
VC_ASD
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может и не стоит, просто COleSafeArray я не понял как юзать.
...
Рейтинг: 0 / 0
12 сообщений из 12, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Динамический массив???
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]