Главная страница
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.065 c
2-1176199255
sergeyst
2007-04-10 14:00
2007.04.29
RightClickSelect в TreeView


15-1175522972
oldman
2007-04-02 18:09
2007.04.29
Использование USB-флэшки в качестве файла подкачки (свопа)


2-1176116225
defiler
2007-04-09 14:57
2007.04.29
Windows AD


3-1171269054
Ламерок
2007-02-12 11:30
2007.04.29
Как узнать сушествует ли запись в ячейке поля?


4-1165212307
Krab12345
2006-12-04 09:05
2007.04.29
Продолжение темы "Сокет"