| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: Общие вопросы > вызов функции в DLL |
| Автор: Гость_kemper 11.8.2003, 16:13 |
| У меня есть 5 DLL. В каждой из них есть процедура function1(var m:matrix), которая возвращает матрицу размером 10000х16х16 или 10000х32х32 или 10000х64х64 и т.д. Для каждой DLL свой размер. Я вызываю функции из DLL динамически, и главная программа работает только с одной DLL(т.е. я не могу подключить сразу все DLL, т.к. они потом будут добавляться). В главной программе я не могу обьявить тип процедуры Tconv = procedure(var m:matrix);stdcall;с конкретным размером матрицы, а array of array of array не катит как тип параметра. И как мне вызывать процедуру из DLL? И еще вопрос: мне эти DLL собственно нужны для формирования матрицы, т.е. считал из файла какое - то количество байт, проеобразовал в матрицу размером 10000х16х16 или 10000х32х32 или 10000х64х64 (в зависимости от выбраной пользователем DLL ) и передал в главную программу. Все работает долго Заранее благодорен. |
| Автор: p0s0l 11.8.2003, 21:29 | ||
| Может быть попробуешь пользоваться обычным одномерным массивом как 3D матрицей? Тогда вместо обращения к элементу matrix[x, y, z] будешь делать такое обращение: matrix[x*matr_width*matr_width + y*matr_width + z], здесь matrix имеет размер [10000, matr_width, matr_width] Для этого можно сделать так:
Писал так, может где-то глюканул... |