|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Тип данных для динамического импорта DLL
Здравствуйте! Подскажите, как объединить данный набор переменных в одну общую:
Код:
cdecl_r_rsss: function(v1: Double; v2,v3,v4: PChar): Double; cdecl; cdecl_r_srss: function(v1: PChar; v2: Double; v3,v4: PChar): Double; cdecl; cdecl_r_ssrs: function(v1,v2: PChar; v3: Double; v4: PChar): Double; cdecl; cdecl_r_sssr: function(v1,v2,v3: PChar; v4: Double): Double; cdecl; cdecl_r_srrr: function(v1: PChar; v2,v3,v4: Double): Double; cdecl; cdecl_r_rsrr: function(v1: Double; v2: PChar; v3,v4: Double): Double; cdecl; cdecl_r_rrsr: function(v1,v2: Double; v3: PChar; v4: Double): Double; cdecl; cdecl_r_rrrs: function(v1,v2,v3: Double; v4: PChar): Double; cdecl; cdecl_r_rrss: function(v1,v2: Double; v3,v4: PChar): Double; cdecl; cdecl_r_ssrr: function(v1,v2: PChar; v3,v4: Double): Double; cdecl; cdecl_r_rsrs: function(v1: Double; v2: PChar; v3: Double; v4: PChar): Double; cdecl; cdecl_r_srsr: function(v1: PChar; v2: Double; v3: PChar; v4: Double): Double; cdecl; cdecl_r_ssss: function(v1, v2, v3, v4: PChar): Double; cdecl; cdecl_r_rrrr: function(v1, v2, v3, v4: Double): Double; cdecl; Пытаюсь написать программу динамического импорта DLL. Функции в DLL имеют следующий формат: до 4 аргументов которые могут быть как PChar так и Double. С целью избежать многочисленного объявления подобных типов переменных. Подскажите как написать одну общую для всех случаев. При этом если аргументов в функции до 4 то ещё терпимо, варианты можно перечислить, но если их количество увеличится до 16, вариаций будет гораздо больше. |
#2
|
||||
|
||||
Вроде аргументы можно сократить до двух,
заменив всё на array of Double и array of PChar, в ячейках только легко запутаться при вызове, но, судя по именам функций, это и не существенно совсем Я не понял Вашего вопроса, но всё же Вам на него отвечу! |
#3
|
|||
|
|||
Поясните точнее как это сделать. Лучше небольшим примером пожалуйста!
|
#4
|
||||
|
||||
Времени нет сейчас библиотеку в очередной раз поднимать :-) просто вам лучше собрать все отдельные однотипные переменные в матрицу, перед её заполнением можно и размерность любую задать через SetLength, а в функции циклом по ней пробежаться, для разбора содержимого ячеек
Или, если это принципиально, что на одних и тех же местах аргументы разнотипные, можно и вариант попробовать в array подсунуть, а при исполнении проверить тип и в зависимости от результата реагировать, может и прокатит, точно не знаю Я не понял Вашего вопроса, но всё же Вам на него отвечу! |