Гость
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как передать созданный в MSVC массив в PowerBuilder? / 7 сообщений из 7, страница 1 из 1
04.11.2003, 16:33
    #32315052
_DF_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать созданный в MSVC массив в PowerBuilder?
желательно по значению, желательно массив строк.
У массива PowerBuilder хитрый внутренний формат, в лоб не получиться.

Нужно, чтобы работало быстро, поэтому через Blob или файл нельзя.
...
Рейтинг: 0 / 0
04.11.2003, 17:46
    #32315199
Mykola
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать созданный в MSVC массив в PowerBuilder?
используя ref arg1[]
...
Рейтинг: 0 / 0
06.11.2003, 11:48
    #32317067
_DF_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать созданный в MSVC массив в PowerBuilder?
Ты пробовал?

я - да:)

int *GetMyCoolArray (int **ppRetMyCoolArray)
{
// Создаем массив в MSVC, например так:
int *pMyCoolArray = malloc (MY_COOL_ARRAY_SIZE * sizeof (int));

// Что-то туда записываем

// Потом делаем так
*ppRetMyCoolArray = pMyCoolArray;

// или так
return pMyCoolArray;
}

// и падаем, вызывая ЭТО из PB
...
Рейтинг: 0 / 0
06.11.2003, 12:48
    #32317166
Геннадич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать созданный в MSVC массив в PowerBuilder?
Попробуй так:
В PB:
type myType from structure
string mystr[]
end type

myType l_myType

, а потом
type prototypes
FUNCTION int Function_1(ref myType) LIBRARY "YourDLL.DLL"
end prototypes
...
Рейтинг: 0 / 0
17.11.2003, 20:04
    #32326795
_DF_
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать созданный в MSVC массив в PowerBuilder?
Дело не в том, чтобы передать указатель на массив, это получается замечательно. Внутренние форматы массова строк C и PB различаются (делал дамп), поэтому, когда я получаю указатель и пытаюсь по нему получить данные, PB падает.
...
Рейтинг: 0 / 0
17.11.2003, 21:10
    #32326817
Филипп
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать созданный в MSVC массив в PowerBuilder?
_DF_ , ты читаешь, что тебе пишут?

Не передавай указатель на твой С++ный массив, а передавай указатель на РВшную структуру, которая содержит в себе (Unbounded) массив типа данных, нужных тебе (скорее всего - string)
На С++ной стороне пихай из С++ного массива в РВшный...
...
Рейтинг: 0 / 0
18.11.2003, 11:54
    #32327207
Dmitry Belousov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как передать созданный в MSVC массив в PowerBuilder?
Другой вариант "в лоб" -
пишем две внешние функции - одна получает указатель на массив и его размерность. Другая способна по указателю и номеру получить единицу данных - например, строку или структуру. Есть свои минусы, но "дёшево и сердито".
...
Рейтинг: 0 / 0
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Как передать созданный в MSVC массив в PowerBuilder? / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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