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

Вниз

С to Delphi translation   Найти похожие ветки 

 
pasha_golub ©   (2009-03-10 12:46) [0]

Есть функция экспортируемая из Сишной либы:

int *cfunc(
                      const int *paramTypes,
                      const char * const *paramValues,
                      const int *paramLengths,
                      const int *paramFormatst);


Правильно ли я перевел?
 type
Tcfunc    = function(
                             paramTypes: array of integer;
                             paramValues: array of PAnsiChar;
                             paramLengths: array of Integer;
                             paramFormats: array of Integer): integer; cdecl;


Спасибо


 
Palladin ©   (2009-03-10 12:56) [1]

неа, PInteger,PPAnsiChar,PInteger,PInteger


 
clickmaker ©   (2009-03-10 13:00) [2]

array - это управляемый тип, тогда как int* или char* - просто указатель

Tcfunc    = function(
                            paramTypes: PInteger;
                            var paramValues: PAnsiChar;
                            paramLengths: PInteger;
                            paramFormats: PInteger): PInteger; cdecl;


 
pasha_golub ©   (2009-03-10 13:00) [3]


> Palladin ©   (10.03.09 12:56) [1]
>
> неа, PInteger,PPAnsiChar,PInteger,PInteger

Ну это если в лоб. А разве массивами никак?


 
pasha_golub ©   (2009-03-10 13:03) [4]

Понял. Плохо жить на свете пионеру Пете...

Извините, шо наглею. Но 8 марта... да и 9 прошел бурно. Мозг отказывается думать. Можно пример как передать в эту функцию
[1,2,3]; ["a","b","c"]; [1,1,1]; [0,0,0] ?


 
Palladin ©   (2009-03-10 13:08) [5]

а вот на счет var я бы поспорил, насколько целесообразно...

a,b,c:array of Integer;
d:Array of PAnsiChar;

func(@a[0],@d[0],@b[0],@c[0]


 
AndreyV ©   (2009-03-10 13:08) [6]

> [4] pasha_golub ©   (10.03.09 13:03)
> Можно пример как передать в эту
> функцию
> [1,2,3]; ["a","b","c"]; [1,1,1]; [0,0,0] ?

Это 8 параметров.


 
clickmaker ©   (2009-03-10 13:10) [7]

> [5] Palladin ©   (10.03.09 13:08)
> а вот на счет var я бы поспорил

по сути пофиг. Но формально - PPAnsiChar правильней, конечно


 
pasha_golub ©   (2009-03-10 13:16) [8]


> AndreyV ©   (10.03.09 13:08) [6]


> Это 8 параметров.

Это 4 параметра :)


> Palladin ©   (10.03.09 13:08) [5]
>
>
> a,b,c:array of Integer;
> d:Array of PAnsiChar;
>
> func(@a[0],@d[0],@b[0],@c[0]

Вот как-то так мысль и скакала. Спасибо, товарищ! С меня полбанки


 
AndreyV ©   (2009-03-10 13:19) [9]

> [8] pasha_golub ©   (10.03.09 13:16)
> > AndreyV ©   (10.03.09 13:08) [6]
> > Это 8 параметров.
> Это 4 параметра :)

Это я про
> [0] pasha_golub ©   (10.03.09 12:46)
написал


 
Palladin ©   (2009-03-10 13:21) [10]


> clickmaker ©   (10.03.09 13:10) [7]

var параметр переменную требует, @[0] уже не напишешь, что приносит иногда некоторые неудобства... )


> AndreyV ©   (10.03.09 13:08) [6]

почему 8?


 
AndreyV ©   (2009-03-10 13:27) [11]

> [10] Palladin ©   (10.03.09 13:21)
> > AndreyV ©   (10.03.09 13:08) [6]
> почему 8?

Потому, что вопрос [4] pasha_golub ©неправильно понял
a := func([1,2,3], ["a","b","c"], [1,1,1], [0,0,0]);
Вроде и праздники не бурно отмечал.


 
pasha_golub ©   (2009-03-10 18:49) [12]

Сыпасиба еще раз огромное всем. Все получилось. Не смотря на поствосьмомартовое состояние.



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

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

Наверх




Память: 0.49 MB
Время: 0.01 c
3-1220516205
Mike Kouzmine
2008-09-04 12:16
2009.05.10
Как работает AVG()


2-1222512134
Rav
2008-09-27 14:42
2009.05.10
Как сохранить *.jpg в базу данных


15-1236671607
Andreyar
2009-03-10 10:53
2009.05.10
Есть работа по Delphi. Кто возьмется


11-1196939671
MTsv DN
2007-12-06 14:14
2009.05.10
Редактирование элементов ImageList...


4-1196974392
Koss
2007-12-06 23:53
2009.05.10
программно отключить включить usb port