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

Вниз

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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.024 c
14-37932
asafr
2003-12-18 18:13
2004.01.13
Clipper после Delphi


1-37781
Cash
2003-12-21 14:22
2004.01.13
Параметры в командной строке (*.exe -p1)


14-37888
nikkie
2003-12-19 18:19
2004.01.13
прикольная фотка


14-37860
ИМХО
2003-12-20 12:02
2004.01.13
Microsoft Exchange


3-37534
denis24
2003-12-16 11:00
2004.01.13
AdoQuery.close