Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.04.29;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.044 c
4-1165171568
Krab12345
2006-12-03 21:46
2007.04.29
Сокет


2-1176192999
alles
2007-04-10 12:16
2007.04.29
Как обьявить функцию?


15-1175711002
Kostafey
2007-04-04 22:23
2007.04.29
Что за баг такой странный: Circular datalinks are not allowed.


4-1165047622
duby dub
2006-12-02 11:20
2007.04.29
Исчезает иконка в трее


2-1176124563
fear
2007-04-09 17:16
2007.04.29
setlength





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский