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

Вниз

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

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

Наверх




Память: 0.51 MB
Время: 0.048 c
2-1184326164
Giperon
2007-07-13 15:29
2007.08.12
Проблемы с wsMaximized для MDIChildForm


9-1157348875
VitaWED
2006-09-04 09:47
2007.08.12
Проблемs c памятью


11-1166446345
AndreyRus
2006-12-18 15:52
2007.08.12
Ошибка обработчика события OnDestroy


2-1184653157
Alex7
2007-07-17 10:19
2007.08.12
Что добавить в DataModule, чтобы он признал TDBGridEh


2-1184832542
kyn66
2007-07-19 12:09
2007.08.12
Компонент ZipTV с глюком?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский