Главная страница
    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.046 c
4-1164992757
BKV
2006-12-01 20:05
2007.04.29
Как определить настоящие пути смапированного диска?


2-1176093362
sergeyst
2007-04-09 08:36
2007.04.29
Как узнать из-за чего


2-1176206136
Steep
2007-04-10 15:55
2007.04.29
Ссылка на класс


3-1170928868
maxmaxov
2007-02-08 13:01
2007.04.29
простой вопрос по PL SQL


15-1175089468
Иксик
2007-03-28 17:44
2007.04.29
Снова об Автошеме





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский