Форум: "Основная";
Текущий архив: 2004.01.13;
Скачать: [xml.tar.bz2];
Внизdll (строковый массив) Найти похожие ветки
← →
sergey 101 (2003-12-28 13:26) [0]Возникла необходимость сохранения текста в DLL и экспорте его.
Как можно реализовать передачу массивов строк(Pchar) и массивов целых чисел?
Заранее благодарен.
← →
Dred2k (2003-12-28 14:27) [1]Ну а какие проблемы?
Передавай в DLL указатель на массив указателей на строки (PChar) + его размер. А далее - указатель на массив целых чисел + его размер. В DLL всю эту потеху можно будет только читать. Если хочешь всю "по-дельфевому" - ShareMem тебе поможет.
Если DLL может быть написана на С и прочее - вместо дельфевых массивов все же корректнее обычные буфера распределять под соответствующие элементы...
← →
sergey 101 (2003-12-28 15:41) [2]пример есть?
← →
Dred2k (2003-12-28 15:50) [3]> sergey 101 (28.12.03 15:41) [2]
Пример _чего_ ?
P.S. Есть хелп и яндекс.
Всего и сразу требовать не красиво...
← →
sergey 101 (2003-12-28 16:03) [4]я мало понимаю в программировании-это не мой хлеб...
занимаюсь по-необходимости, я пытался найти в поисковиках, но не нашел применительно массивам ничего толклвого больше вопросов, чем ответов.
Человек который писал длл, сказал, что то что мне нужно выглядит так:
Procedure arrt(AR_table:array of Pchar);stdcall;
begin
ar_table[1] :="Structure Identifier Code";
ar_table[2] :="Ticket Number";
ar_table[3] :="Sequence Number";
..................................
ar_table[26]:="Customer Feature Action";
end;
.........
export serty,...,arrt
C Dll, если не считать написание обычных математических функций
опыта работы нет.
Так что буду благодарен если у тебя уже есть пример вызова массива из длл, притом динамического.
Опять же динамичекси я пробывал вызывать только простые ф-ции сумирования, где результат одно целое число. Не более.
Извините за навязчивость.
← →
Dred2k (2003-12-28 16:11) [5]> я мало понимаю в программировании-это не мой хлеб...
> занимаюсь по-необходимости, я пытался найти в поисковиках,
> но не нашел применительно массивам ничего толклвого больше
> вопросов, чем ответов.
Ну так если перед тобой вдруг встала задача запрограммировать все это, так нужно учиться. Без навыков работы с памятью и ......... "на коленке" этого не сделать. С DLL работать просто, могу прислать кусок доки в PDF. Но тебе надо бы разобраться с распределением памяти, указателями, строками в дельфи и C (string и PChar). Пойми одно - если даже прислать тебе готовый код - это не выход. Дальше ведь больше.
> Человек который писал длл, сказал, что то что мне нужно
> выглядит так:
Вообще-то, бред какой-то. Тем более, учитывая твою постановку вопроса (передача данных _в функцию DLL_).
← →
sergey 101 (2003-12-28 16:20) [6]>Ну так если перед тобой вдруг встала задача запрограммировать все >это, так нужно учиться. Без навыков работы с памятью и ......... >"на коленке" этого не сделать.
Согласен ,я только "за", но пока, к сожалению времени не хватает
:(
честно.
извини,я неккоректно задал вопрос...
в длл уже все есть(опять же со слов автора длл), мне оттуда надо извлечь 1 массив Pchar и массив [1..78] longint.
Хотя я прихожу к мысли, что данная длл не удовлетворит моих потребностей, и мне самому надо будет написать, что-то похожее +
вбить туда текст, который будет более 255 символов, а потом читать его оттуда+те же массивы.
Поэтому опыт полученный от разбирательств с имеющейся длл мне пригодитья для своей.
Мне не нужна полностью дока по написанию dll, мне б конкретно по массивам и не более.
А со строками я вроде как разобрался...
← →
Dred2k (2003-12-28 16:24) [7]> sergey 101 (28.12.03 16:20) [6]
Ясно. Тут только на конкретные вопросы ответить можно, пойми.
Лекций писать никто не будет. Для начала приведи декларации вызовов готовой DLL и суть работы функций согласно пояснениям автора библиотеки + как ты их собираешься использовать.
← →
sergey 101 (2003-12-28 16:30) [8]ок, спасибо....
наверное, разговор с автором придется отложить, до 8-го числа, не отвечат он....
← →
Dred2k (2003-12-28 16:33) [9]> sergey 101 (28.12.03 16:30) [8]
У тебя есть время все изучить самостоятельно.
Автор твой, по-моему, сам хреново представляет все это. Начать, хотя бы, с ar_table[1] := для array of Pchar и т.д.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.01.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.009 c