![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как обьявить функцию?
alles © (2007-04-10 12:16:00)Здраствуйте.
Как обьявить в длл функцию чтобы она могла возвращять array of byte?
Я делал так:
type
TArrayOfSomeByte = array[0..32] of byte;
.....
function ReturnArrayOfByte():TArrayOfSomeByte;
из другово прожекта Delphi вызываю и все нормально, а из с++ или C# не получяется? Как обьявить функцию чтобы мог из любой среды прогр. вызывать эту ф-ию?
Спасибо
Alexey (AZ) (2007-04-10 14:52:00) [1]function ReturnArrayOfByte(ptr:pointer;size:integer):integer;
И минимум проблем с переносимостью. Вернет кол-во заполненых бульё... boolean'ов :)
Сергей М. (2007-04-10 13:27:00) [2]
> в сях нет процедур, одни лишь функции
да по-барабану !
Ну пусть будет void-функция - суть от этого не меняется.
> типизировать их смысла не вижу, только запутывает
Да ты шо ?! А мужики-то и не знают)
Leonid Troyanovsky (2007-04-10 13:26:00) [3]
> alles © (10.04.07 12:16)
> с++ или C# не получяется? Как обьявить функцию чтобы мог
> из любой среды прогр. вызывать эту ф-ию?
Лучше передавать уже распределенный буфер вместе с его размером.
А возвращать, скажем, количество реально обработанных байтов.
--
Regards, LVT.
Правильный Вася (2007-04-10 13:25:00) [4]
> А в Сях объявляешь процедуру,
в сях нет процедур, одни лишь функции
а по поводу указателей согласен, только типизировать их смысла не вижу, только запутывает
да и пчар тоже указатель
alles (2007-04-10 13:23:00) [5]Сергей М. © (10.04.07 12:24) [1]
... передавая ей параметром указатель на структуру
пожалуста,можно пример как слелать такое?
Сергей М. (2007-04-10 13:18:00) [6]Вася, ты гонишь)
Указатель - он и в Африке указатель.
А уж типизировать его можно как угодно и где угодно - от этого указатель не перестанет быть указателем)
Правильный Вася (2007-04-10 13:10:00) [7]"из любой среды" надо использовать совместимые типы данных
например PCHAR
Сергей М. (2007-04-10 12:24:00) [8]function ReturnArrayOfByte():TArrayOfSomeByte; stdcall; //или cdecl - в зависимости от выбранного Сишного declspec-спецификатора
А в Сях объявляешь процедуру, передавая ей параметром указательна структуру.