Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

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


Страницы:   1 2

Тимоха111 ©   (2011-02-01 23:33:00) 

Есть программа, которая подгружает длл и получает структуру 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-02 12:41:00) [1]


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

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


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


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


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


Anatoly Podgoretsky   (2011-02-02 10:57:00) [3]


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


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

Как же так?


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


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

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

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


Palladin   (2011-02-02 03:38:00) [5]


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

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


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


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

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


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

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

ну и в dpr dll'ки


Palladin   (2011-02-02 03:06:00) [8]


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

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


Германн   (2011-02-02 03:02:00) [9]


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

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


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

dll


Palladin   (2011-02-02 02:59:00) [11]

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


Palladin   (2011-02-02 02:54:00) [12]

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


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

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


Palladin   (2011-02-02 02:48:00) [14]

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


Германн   (2011-02-02 02:47:00) [15]


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

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


Ega23   (2011-02-02 01:34:00) [16]


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

Не факт.


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

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


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

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


Ega23   (2011-02-01 23:41:00) [19]

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


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

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


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо