powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проблема при закрытии программы
25 сообщений из 31, страница 1 из 2
Проблема при закрытии программы
    #40105567
STestS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте.
Подскажите при закрытии приложения выскакивает сообщение об ошибке:
авторFirst chance exception at $0068FE83. Exception class $C0000005 with message 'access violation at 0x0068fe83: read of address 0x00000038'



Скажу сразу что искал в нете информацию об данном модуле и ошибке но ничего толком не нашел. Помогите разобраться в чем проблема...
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105571
Zelius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STestS,

у меня было похожее когда сам создавал параметры для вызова Connection.Execute, как то он с ними не корректно работает, пришлось отказаться и перейти на Query.Execute
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105572
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STestS

Скажу сразу что искал в нете информацию об данном модуле и ошибке но ничего толком не нашел. Помогите разобраться в чем проблема...


Каком модуле?
Без отладчика и/или исходного кода можно только гадать. Если я скажу, что это использование объекта после его уничтожения, это поможет?
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105579
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STestS0x0068fe83

Ну так смотрите в отладчике Call Stack. И какой именно указатель тут nil.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105584
STestS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

Ну так смотрите в отладчике Call Stack. И какой именно указатель тут nil.


Код: pascal
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
FireDAC.DatS.TFDDatSList.Notify($19FC20)
FireDAC.DatS.TFDDatSNamedList.Notify($19FC20)
FireDAC.DatS.TFDDatSColumnList.Notify($19FC20)
FireDAC.DatS.TFDDatSObject.Notify(???,???,75558616,58735120)
FireDAC.DatS.TFDDatSList.RemoveAt(0,False)
FireDAC.DatS.TFDDatSColumnList.RemoveAt(0,False)
FireDAC.DatS.TFDDatSList.Clear
FireDAC.DatS.TFDDatSTable.Reset
FireDAC.DatS.TFDDatSTable.DoListRemoving
FireDAC.DatS.TFDDatSList.Notify($19FCC8)
FireDAC.DatS.TFDDatSNamedList.Notify($19FCC8)
FireDAC.DatS.TFDDatSObject.Notify(???,???,59345512,58942304)
FireDAC.DatS.TFDDatSList.RemoveAt(0,False)
FireDAC.DatS.TFDDatSList.Clear
FireDAC.DatS.TFDDatSList.Destroy
FireDAC.DatS.TFDDatSNamedList.Destroy
FireDAC.DatS.TFDDatSManager.Destroy
FireDAC.Phys.Meta.TFDPhysConnectionMetadata.Destroy
FireDAC.Phys.TFDPhysConnection.Destroy
FireDAC.Phys.ODBCBase.TFDPhysODBCConnectionBase.Destroy
FireDAC.Phys.TFDPhysConnection._Release
System._IntfClear(???)
:0040CF17 System::__linkproc__ IntfClear(Dest=????)
FireDAC.Comp.Client.TFDCustomConnection.ReleaseConnectionIntf(nil)
FireDAC.Comp.Client.TFDCustomConnection.DoDisconnect
Data.DB.TCustomConnection.SetConnected(???)
FireDAC.Comp.Client.TFDCustomConnection.SetConnected(???)
Data.DB.TCustomConnection.Close
FireDAC.Comp.Client.TFDCustomConnection.Destroy
System.TObject.Free
System.Classes.TComponent.DestroyComponents
System.Classes.TComponent.Destroy
Vcl.Controls.TControl.Destroy
Vcl.Controls.TWinControl.Destroy
Vcl.Forms.TScrollingWinControl.Destroy
Vcl.Forms.TCustomForm.Destroy
System.TObject.Free
System.Classes.TComponent.DestroyComponents
Vcl.Forms.DoneApplication
System.SysUtils.DoExitProc
System._Halt0
:0063FF37 Data::Db::TCustomConnection::Close(Self=????)
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105592
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"смотрите" и "покажите" это два разных слова.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105602
STestS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Dimitry Sibiryakov

"смотрите" и "покажите" это два разных слова.

Абсолютно с вами согласен!
Я хочу сам разобраться.

Значит мне двигаться в данном направлении?

Код: pascal
1.
FireDAC.Comp.Client.TFDCustomConnection.ReleaseConnectionIntf(nil)
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105608
STestS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
[quot x1ca4064#22385827]
STestS

Без отладчика и/или исходного кода можно только гадать. Если я скажу, что это использование объекта после его уничтожения, это поможет?


Думаю поможет, главное знать что "ускользнуло" раньше времени))
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105611
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
STestSДумаю поможет, главное знать что "ускользнуло" раньше времени))

В тексте ошибки всё написано. "read of address 0x00000038" это типичное
обращение к полю объекта у которого адрес nil. Это либо self, либо переменная.
Так трудно догадаться посмотреть в отладчике значения?..
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105617
GunSmoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Похоже на ошибку типа use after free. Помимо очевидного варианта, возможно, что она возникает из-за смешения ручного (TObject) и автоматического (IInterface) управления временем жизни. Также есть небольшая ненулевая вероятность ошибки межпоточной синхронизации.

Это может быть баг в самой библиотеке, либо же в способе её использования (читай: твоём коде).

Надо смотреть, что в FParam2 должно быть штатно и где "по плану" оно должно убиваться. Как определили - смотреть, почему убивание происходит раньше его использования.
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105622
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GunSmokerПохоже на ошибку типа use after free.

При этом переменные обычно не обнуляются и читаемый адрес находится в куче, а не
в районе нуля как мы видим в стартовом сообщении.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105639
GunSmoker
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
FParam2 может быть полем объекта или приходить из него. После удаления объекта это значение может быть любым. В том числе nil.
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105732
Фотография Virtual Student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подспудный вопрос.
А нельзя ли при закрытии приложения просто все бросить, и ничего не чистить?
По идее, память будет освобождена и так.
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105738
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Virtual Student
Подспудный вопрос.
А нельзя ли при закрытии приложения просто все бросить, и ничего не чистить?


Можно, конечно, но это плохой стиль, подходящий только для "одноразовых" программ.
Ресурсы ОС себе вернет, а вот всякие открытые транзакции и пр. - только самому, что требует от программиста контроля того, что он создает и уничтожает.
Программу, которая не чистит за собой, будет тяжело расширять, т.к. просто взять готовый код и заставить его работать в несколько потоков, например, уже будет тяжко.
Да и данные могут потеряться.
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105750
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Virtual Student
Подспудный вопрос.
А нельзя ли при закрытии приложения просто все бросить, и ничего не чистить?
По идее, память будет освобождена и так.

Если так сделать, то не удастся отлавливать утечки памяти и ряд других ошибок. А если их не отлавливать - они начнут накапливаться и довольно скоро своей массой похоронят приложение. Поэтому целесообразно чистить сразу же, а не разгребать потом.
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105753
Фотография Virtual Student
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Virtual Student

Поэтому целесообразно чистить сразу же, а не разгребать потом.

Я-то так и делаю, это был чисто теоретический вопрос к Гуру. :)
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105772
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x1ca4064
Ресурсы ОС себе вернет, а вот всякие открытые транзакции и пр. - только самому
о каких именно транзакциях речь?
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105787
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
о каких именно транзакциях речь?

Т.к. обсуждаем сферическую программу в вакууме - о любых
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105831
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x1ca4064
Мимопроходящий
о каких именно транзакциях речь?

Т.к. обсуждаем сферическую программу в вакууме - о любых
пустые слова.
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105858
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
x1ca4064
пропущено...

Т.к. обсуждаем сферическую программу в вакууме - о любых
пустые слова.

На какой ответ Вы расчитывали?
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105859
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x1ca4064
Мимопроходящий
пропущено...
пустые слова.
На какой ответ Вы расчитывали?
не надо бросаться пустыми словами.
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105864
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий
x1ca4064
пропущено...
На какой ответ Вы расчитывали?
не надо бросаться пустыми словами.

Подкрепите как-то Ваши обвинения, а то про соринку и бревна придется вспоминать.
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105869
ъъъъъ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
x1ca4064
Мимопроходящий
пропущено...
не надо бросаться пустыми словами.

Подкрепите как-то Ваши обвинения, а то про соринку и бревна придется вспоминать.

Это же ты про какие-то транзакции сумничал, не он.
Рассказывай.
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105897
x1ca4064
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ъъъъъ
Это же ты про какие-то транзакции сумничал, не он.
Рассказывай.

Откуда это патологическре желание обращаться на "ты" к незнакомым людям? Ну ладно, это вопрос к родителям, скорее.
Рассказываю:
Пусть есть программа, которая работает с кассой, например.
Открывается чек, добавляются в него товары, кассир закрывает программу, не закрыв чек. По условию ТС ничего не чистим (сразу вызываем halt в обработчике закрытия), программа просто закрывается, на кассе остается открытый чек - это иногда может приводить к забавным эффектам: у следующего покупателя могут появиться "левые" товары.
Думаю, подобных примеров можно придумать много в случае работы с внешними устройствами.
Ситуация, когда не чистим при закрытии, очень похожа на аварийное отключение питания у компьютера или вызов TerminateProcess. Неужели Word никогда не падал с последующим покореженным документом?

Совсем забыл: работа с кассовым чеком является транзакционной - он может быть либо закрыт, либо отменен.
...
Рейтинг: 0 / 0
Проблема при закрытии программы
    #40105907
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
x1ca4064Откуда это патологическре желание обращаться на "ты" к незнакомым людям?

В том числе и из ФИДО, где обращение на "Вы" расценивалось как оскорбление.

"Ой не понимаю чего вы спорите..." (с)

Есть чётко определённый список ресурсов, которые ОС освобождает при завершении
процесса, делая это определённым образом. Всё остальное - НЕ ОСВОБОЖДАЕТСЯ.
Причём в некоторых случаях это в доке прописано явно жирными буквами.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Проблема при закрытии программы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]