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

Вниз

Распределение памяти в приложение   Найти похожие ветки 

 
iviom   (2007-07-19 16:04) [0]

Здравствуйте.
У меня появилась проблема, для которой я никак не могу найти решение.
У меня есть приложение, состоящее из двух форм: главная и подчиненая. Под главной формой я имею ввиду форму, которую вызывает само приложение, а под подчиненой - форму, которая вызывается из главной.
У меня есть длл, которую я вызываю из главной и подчиненой формы, причем при вызове ее из подчиненой формы у меня возникает ошибка (access vialotion).
Длл у меня сложная, то есть это не просто форма. Для того, чтобы она работала я ее инициализирую (я передаю в нее соединение к базе данных) и передаю в нее Application.Handle приложения.
Инициализация проходит в главной форме, при это при вызове функции из dll все работает. А при вызове функции из dll из подчиненой формы происходит ошибка.
Мне кажется, что проблема не в самой программе или dll. Вероятно проблема с адресным пространством, но как к этому подойти я не могу понять.
Помогите пожалуйста разобраться или может есть какая-нибудь хорошая статься по распределении памяти на приложения?


 
Сергей М. ©   (2007-07-19 16:09) [1]

Про ShareMem что-нть слышал ?


 
Сергей М. ©   (2007-07-19 16:09) [2]

Заодно и про отладчик, встроенный в Делфи ?


 
iviom   (2007-07-19 16:10) [3]

Нет, но сейчас посмотрю в гугле.


 
Сергей М. ©   (2007-07-19 16:11) [4]


> сейчас посмотрю в гугле


А клавишу F1 у тебя что, мыши сгрызли ?)


 
iviom   (2007-07-19 16:12) [5]

Отладчиком пользуюсь. Но в данный момент он мне не помагает, потому что когда нахожусь в dll и запускаю проект, вижу что объект не проинициализирован. Хотя только что прошла ее инициализация (но эта функция была вызвана из главной формы).


 
Stanislav ©   (2007-07-19 16:13) [6]


> Сергей М. ©   (19.07.07 16:11) [4]
>
> А клавишу F1 у тебя что, мыши сгрызли ?)


:-))


 
Сергей М. ©   (2007-07-19 16:13) [7]


> Отладчиком пользуюсь


Значит неправильно пользуешься.


 
iviom   (2007-07-19 16:13) [8]

Значит в помощи. Я не сразу поняла, что это делфийская функция.


 
Stanislav ©   (2007-07-19 16:14) [9]

Показывай код как вызываешь, там и там, и код DLL


 
Anatoly Podgoretsky ©   (2007-07-19 16:14) [10]

> Сергей М.  (19.07.2007 16:11:04)  [4]

Огуглизировался


 
Stanislav ©   (2007-07-19 16:15) [11]

>>Я не сразу поняла, что это делфийская функция.
Это ты о чем?


 
Anatoly Podgoretsky ©   (2007-07-19 16:15) [12]

Пардон - огуглизировалася


 
Сергей М. ©   (2007-07-19 16:15) [13]


> это делфийская функция.


Хм..

А когда у тебя активно окно раб.стола и ты жмакнув Ф1 видишь открытие окна справки - это тоже, надо понимать,  "делфийская функция" ?


 
Сергей М. ©   (2007-07-19 16:17) [14]


> Anatoly Podgoretsky


Я бы даже сказал - "огуглела"


 
iviom   (2007-07-19 16:26) [15]

Хмм..
Вроде написала вполне вежливое письмо. А вы так отвечаете. Я конено, понимаю, что вас наверное за целый день достают, но зачем над другими издеваться-то?
Спасибо, вам. Люди.


 
Сергей М. ©   (2007-07-19 16:29) [16]


> iviom   (19.07.07 16:26) [15]


На обиженных воду возят)

Тебе был вполне конкретный намек - либо показывай код либо подробно описывай все свои действия и решения при трассировке.
А лучше и то и другое. И можно без лишнего словоблудия - только факты и никакого вранья)


 
Stanislav ©   (2007-07-19 16:30) [17]

Сергей М. ©   (19.07.07 16:29) [16]
Девушко всетаки :-)

iviom   (19.07.07 16:26) [15]
Покажи хотябы заголовки процедур из DLL.


 
Сергей М. ©   (2007-07-19 16:31) [18]


> Девушко


Не факт)


 
Anatoly Podgoretsky ©   (2007-07-19 16:32) [19]

> iviom  (19.07.2007 16:26:15)  [15]

Советы другого рода, вместо того чтобы лезть в Гугл, стоит сначала поискать в справке.


 
iviom   (2007-07-19 16:47) [20]

Ладно, ребят. ;)
Я создалО тестовый пример и он заработал.
Соответственно ошибка рода "приложение обращается в какое-то другое адресное пространство" и прочья ерунда исключаются. А вопрос был собственно поэтому.
Так что полезла я искать глюк самостоятельно.
Спасибо хотя, что не злитесь теперя что =)


 
Stanislav ©   (2007-07-19 16:53) [21]

iviom   (19.07.07 16:47) [20]
Ну раз сама будешь разбираться, то
Access Violation  вызывается пр обращении к объекту, который еще не создан или уже уничтожен.


 
Сергей М. ©   (2007-07-19 16:56) [22]


> iviom   (19.07.07 16:47) [20]


Зарегистрироваться в конференции не мешало бы ..

Ведь вернешься же, как пить дать !

При твоей-то   "проблеме")

И что о тебе, "оно", люди скажут опосля этого ?)

Он ить пасут тебя) .. в архивах хотя бы)

Репу-то свою почеши)..


 
Anatoly Podgoretsky ©   (2007-07-19 17:00) [23]

> Stanislav  (19.07.2007 16:53:21)  [21]

Третий вариант, создан и не уничтожен, а вот указатель испорчен, обычное дело.


 
Stanislav ©   (2007-07-19 17:01) [24]

Anatoly Podgoretsky ©   (19.07.07 17:00) [23]  тоже вариант, при этом еще и утечка памяти.


 
Сергей М. ©   (2007-07-19 17:06) [25]


> Stanislav ©   (19.07.07 17:01) [24]
>

Вопрос философского хар-ра - зависят ли AV от пола ?


 
Stanislav ©   (2007-07-19 17:11) [26]

Сергей М. ©   (19.07.07 17:06) [25]
Зависят cкорее причины возникновения AV


 
iviom   (2007-07-19 17:25) [27]


> Он ить пасут тебя) .. в архивах хотя бы)
>
> Репу-то свою почеши)..


Ох... Язык сломался, пока читала. А что имел ввиду так и не понять.
Хотя... какая разница.


 
Stanislav ©   (2007-07-19 17:31) [28]

iviom   (19.07.07 17:25) [27]
Уже давно бы код привела.


 
Kolan ©   (2007-07-19 21:52) [29]

Отладь. Засунь проект и Dll в одну ProjetGroup. Тогда отладка будет работать так, как ты ожидаешь.

AV просто так не возникает.



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

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

Наверх




Память: 0.53 MB
Время: 0.025 c
15-1184522210
Yanis
2007-07-15 21:56
2007.08.12
Новое веяние спама: pdf файлы. Обнаружил в почте.


15-1184052489
Krants
2007-07-10 11:28
2007.08.12
мистическая тройка


15-1184592922
Sdubaruhnul
2007-07-16 17:35
2007.08.12
Война браузеров доходит до идиотизма


2-1184524311
Pont
2007-07-15 22:31
2007.08.12
Вырезание из файла


4-1172224362
iant
2007-02-23 12:52
2007.08.12
Работа со сканером