Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 26.05.2014, 11:35   #1
nick17
Пользователь
 
Регистрация: 05.07.2010
Сообщений: 30
По умолчанию Как в функции с парамером var pBuffer:byte сделать массив?

Добрый день!
У меня есть функция фирмы Advantech. И у нее переопределен DRIVER.PAS (можно взять в инете).
здесь написано: pBuffer: pointer to DO data buffer
хотелось бы массив, а он просто BYTE ((
В С++ варианте все нормал: BYTE [] bBuffer; и указатель

А как же сделать в Делфи? Помогите пожалуста!

{ Description: }
{ }
{ Write DO ports. }
{ }
{ Parameters: }
{ DriverHandle[in]: Driver handle }
{ dwPortStart[in]: start port to write. }
{ dwPortCount[in]: port count to write. }
{ pBuffer[out]: pointer to DO data buffer to output. }
{---------------------------------------------------------------------------------}
Function AdxDioWriteDoPorts( DriverHandle : Longint;
dwPortStart : Longint;
dwPortCount : Longint;
Var pBuffer : Byte ) : Longint; stdcall;
nick17 вне форума Ответить с цитированием
Старый 26.05.2014, 12:14   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,002
По умолчанию

передаете первый байт из массива функцию, а дальше магия указателей сделает все за вас.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.05.2014, 15:03   #3
nick17
Пользователь
 
Регистрация: 05.07.2010
Сообщений: 30
По умолчанию

Спасибо большое!
nick17 вне форума Ответить с цитированием
Ответ

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как лучше сделать string -> byte[] digiwo C# (си шарп) 9 13.02.2014 19:54
byte массив offname C# (си шарп) 3 08.09.2011 16:40
Как передать результат функции как Array of Byte? Alex Cones Общие вопросы Delphi 4 05.12.2009 18:55
Как сделать возврат из функции VladimirVB Общие вопросы Delphi 5 28.08.2009 14:03
Как сделать чтобы двумерный массив который создается в функции можно было использовать в других функциях Olya90 Помощь студентам 4 20.04.2009 17:39


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840