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

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

я - да:)

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

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

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

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

// и падаем, вызывая ЭТО из PB
...
Рейтинг: 0 / 0
Как передать созданный в MSVC массив в PowerBuilder?
    #32317166
Геннадич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так:
В 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
Как передать созданный в MSVC массив в PowerBuilder?
    #32326795
_DF_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Дело не в том, чтобы передать указатель на массив, это получается замечательно. Внутренние форматы массова строк C и PB различаются (делал дамп), поэтому, когда я получаю указатель и пытаюсь по нему получить данные, PB падает.
...
Рейтинг: 0 / 0
Как передать созданный в MSVC массив в PowerBuilder?
    #32326817
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_DF_ , ты читаешь, что тебе пишут?

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


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