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

Вниз

ошибка AV при получении динамического массива из длл   Найти похожие ветки 

 
Тимоха111   (2011-02-01 23:33) [0]

Есть программа, которая подгружает длл и получает структуру record из нее.
Данный рекорд прописан и в длл и в самой программе.
TMyRec = record
name : WideString;
Mass1:array of real;
end;

длл подгружается динамически, в ходе подзагрузки длл программа вызывает функцию GetName, которая возвращает структуру TMyRec. В программе вызывается так:
var
myr:tmyrect;
..
loadlibrary
...
myr := GetName;
...
freelibrary

так вот, name из структуры передается нормально и текст программа получает, а вот с динамическим массивом вылезает AV, причем даже при использовании общего менеджера памяти, sharemem подключен первым в списке подключаемых модулей что в программе что в длл, ошибка лезет уже на этой строчке myr := GetName;


 
Тимоха111   (2011-02-01 23:34) [1]

да, используется delphi 7, windows xp


 
Тимоха111   (2011-02-01 23:34) [2]

var
myr:tmyrec; // опечаточка была
..
loadlibrary


 
Ega23 ©   (2011-02-01 23:41) [3]

Когда DLL создавал, большой комментарий строк на 20, поди, удалил не читая?


 
Тимоха111   (2011-02-01 23:42) [4]

вопрос снимается, после перезапуска delphi, все заработало, очевидно глюк словила до этого)))))
Слава общему менеджеру памяти!!!!


 
Тимоха111   (2011-02-01 23:43) [5]

Ega23, как же, прочитал) без него бы не использовал sharemam ;)


 
Ega23 ©   (2011-02-02 01:34) [6]


> Слава общему менеджеру памяти!!!!

Не факт.


 
Германн ©   (2011-02-02 02:47) [7]


> Тимоха111   (01.02.11 23:42) [4]
>
> вопрос снимается, после перезапуска delphi, все заработало,
>  очевидно глюк словила до этого)))))
>

Рано радуешься.
AV такая подлая штука, что показывается только иногда (в зависимости от погоды :).


 
Palladin ©   (2011-02-02 02:48) [8]

ага, и sharemem конечно в модуле прописан


 
Тимоха111   (2011-02-02 02:50) [9]

я так понял что его надо прописать и в модуле и в основной программе, разве не так?


 
Palladin ©   (2011-02-02 02:54) [10]

что в твоем понимании модуль?


 
Тимоха111   (2011-02-02 02:59) [11]

dll


 
Palladin ©   (2011-02-02 02:59) [12]

ну а unit ты как называешь?


 
Германн ©   (2011-02-02 03:02) [13]


> Palladin ©   (02.02.11 02:48) [8]
>
> ага, и sharemem конечно в модуле прописан
>

О каком модуле идёт речь, Тимур?
В первом посте вроде всё  ясно указано.


 
Palladin ©   (2011-02-02 03:06) [14]


> sharemem подключен первым в списке подключаемых модулей

ни разу не ясно... где оно подключено... аффтор, развей сомненья, расскажи, как файл называется в котором "sharemem подключен первым в списке подключаемых модулей"


 
Тимоха111   (2011-02-02 03:08) [15]

project1.dpr -основная прога
unit1.pas - тут тоже прописал

ну и в dpr dll"ки


 
Германн ©   (2011-02-02 03:11) [16]


> Palladin ©   (02.02.11 03:06) [14]
>
>
> > sharemem подключен первым в списке подключаемых модулей
>
> ни разу не ясно

Тимур, ну ясно уже всё. Уймись.


 
Palladin ©   (2011-02-02 03:38) [17]


> Тимур, ну ясно уже всё.

ну вот ты был прямо так уверен что именно в dpr а не в Unit1? хотя, заметь, это автором не сказано было. он даже dll - модулями называет. программист не терпит неясностей. все, унялся... надоело...


 
Германн ©   (2011-02-02 03:49) [18]


> все, унялся... надоело...
>

Хм. Да.
Похоже я плохо читал. :(

Не обижайся, Тимур. Пожалуйста.
Я был не прав. Читал "с конца".
Прими мои извинения.


 
Anatoly Podgoretsky ©   (2011-02-02 10:57) [19]


> как же, прочитал


> глюк словила

Как же так?


 
Юрий Зотов ©   (2011-02-02 11:48) [20]


> Тимоха111   (02.02.11 03:08) [15]
> project1.dpr -основная прога
> unit1.pas - тут тоже прописал
>
> ну и в dpr dll"ки


Из unit1 уберите, это лишнее. Достаточно в обоих DPR, но строго самым первым.


 
Тимоха111   (2011-02-02 12:41) [21]


> Из unit1 уберите, это лишнее. Достаточно в обоих DPR, но
> строго самым первым.,

так и сделал, спасибо



Страницы: 1 вся ветка

Текущий архив: 2011.05.08;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.008 c
15-1296121492
Джек
2011-01-27 12:44
2011.05.08
Сайты


1-1253718932
bodun
2009-09-23 19:15
2011.05.08
Шифрование строки методом XOR.Необходим оптимизированный алгоритм


1-1253636485
alexrayne
2009-09-22 20:21
2011.05.08
как вложить компонент в ячейку DrawGrid?


15-1293694941
Kerk
2010-12-30 10:42
2011.05.08
С новым годом!


3-1258272518
Drowsy
2009-11-15 11:08
2011.05.08
Хранимые процедуры. InterBase6.