Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2011.05.08;
Скачать: [xml.tar.bz2];

Вниз

ошибка 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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.49 MB
Время: 0.003 c
15-1295873780
MonoLife
2011-01-24 15:56
2011.05.08
Открыть URL адрес в папке проводника


2-1296057400
Kirilovich
2011-01-26 18:56
2011.05.08
Сетевая Бд


15-1295739103
Грамотей
2011-01-23 02:31
2011.05.08
Где взять скомпилированные dll от ODE?


15-1296083374
Германн
2011-01-27 02:09
2011.05.08
TListView с группами


15-1294825167
usrg
2011-01-12 12:39
2011.05.08
О чем говориться в Eclipse Public License?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский