Главная страница
    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.068 c
6-1167761692
maxistent
2007-01-02 21:14
2007.08.12
Как отменить отправку данных?


2-1184237695
deras
2007-07-12 14:54
2007.08.12
Как сгенерить случайное число целого типа...


3-1177658448
DelphiLexx
2007-04-27 11:20
2007.08.12
FireBird 2.0 многопользовательская работа


15-1184256508
TUser
2007-07-12 20:08
2007.08.12
Таки он есть :)


15-1184312367
Romkin
2007-07-13 11:39
2007.08.12
Принтер с двухсторонней печатью





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