Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.29;
Скачать: CL | DM;

Вниз

Как обьявить функцию?   Найти похожие ветки 

 
alles ©   (2007-04-10 12:16) [0]

Здраствуйте.
Как обьявить в длл функцию чтобы она могла возвращять array of byte?
Я делал так:
type
     TArrayOfSomeByte = array[0..32] of byte;
.....
function ReturnArrayOfByte():TArrayOfSomeByte;

из другово прожекта Delphi вызываю и все нормально, а из с++ или C# не получяется? Как обьявить функцию чтобы мог из любой среды прогр. вызывать эту ф-ию?
Спасибо


 
Сергей М. ©   (2007-04-10 12:24) [1]

function ReturnArrayOfByte():TArrayOfSomeByte; stdcall; //или cdecl - в зависимости от выбранного Сишного declspec-спецификатора

А в Сях объявляешь процедуру, передавая ей параметром указатель на структуру.


 
Правильный Вася   (2007-04-10 13:10) [2]

"из любой среды" надо использовать совместимые типы данных
например PCHAR


 
Сергей М. ©   (2007-04-10 13:18) [3]

Вася, ты гонишь)

Указатель - он и в Африке указатель.
А уж типизировать его можно как угодно и где угодно - от этого указатель не перестанет быть указателем)


 
alles ©   (2007-04-10 13:23) [4]

Сергей М. ©   (10.04.07 12:24) [1]
... передавая ей параметром указатель на структуру


пожалуста,можно пример как слелать такое?


 
Правильный Вася   (2007-04-10 13:25) [5]


> А в Сях объявляешь процедуру,

в сях нет процедур, одни лишь функции

а по поводу указателей согласен, только типизировать их смысла не вижу, только запутывает
да и пчар тоже указатель


 
Leonid Troyanovsky ©   (2007-04-10 13:26) [6]


> alles ©   (10.04.07 12:16)  

> с++ или C# не получяется? Как обьявить функцию чтобы мог
> из любой среды прогр. вызывать эту ф-ию?


Лучше передавать уже распределенный буфер вместе с его размером.
А возвращать, скажем, количество реально обработанных байтов.

--
Regards, LVT.


 
Сергей М. ©   (2007-04-10 13:27) [7]


> в сях нет процедур, одни лишь функции


да по-барабану !

Ну пусть будет void-функция - суть от этого не меняется.


> типизировать их смысла не вижу, только запутывает


Да ты шо ?! А мужики-то и не знают)


 
Alexey (AZ)   (2007-04-10 14:52) [8]

function ReturnArrayOfByte(ptr:pointer;size:integer):integer;
И минимум проблем с переносимостью. Вернет кол-во заполненых бульё... boolean"ов :)



Страницы: 1 вся ветка

Текущий архив: 2007.04.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.028 c
3-1171224124
Maestro
2007-02-11 23:02
2007.04.29
файл для хранения настроек подключения


2-1176353386
Novice
2007-04-12 08:49
2007.04.29
Доступ к файловой системе


15-1175354004
User454531
2007-03-31 19:13
2007.04.29
Чемпионат по поиску в Интернете


2-1176227341
hover
2007-04-10 21:49
2007.04.29
таймер


15-1175667538
alien1769
2007-04-04 10:18
2007.04.29
Не могу открыть ворд документ