Главная страница
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.011 c
2-1238060969
Mixali4
2009-03-26 12:49
2009.05.10
Скорость передачи в сети


15-1236688315
забылпароль
2009-03-10 15:31
2009.05.10
Вопрос к любителям музыки, или технически грамотным


4-1209022397
Int23
2008-04-24 11:33
2009.05.10
Как дать доступ на папку определённой группе пользователей


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


6-1202811409
Lamer666
2008-02-12 13:16
2009.05.10
TIdHTTP+TidSSLIOHandlerSocket парсинг!