Автор: Graach
Дата сообщения: 06.09.2011 12:53
Доброго времени суток,
Долго думала где задать этот вопрос...
Есть самописный пакет компонент MyClientDataSet, в котором есть компонента Zclientdataset, которая использует отдельную библиотеку CommunicationLayer.dll и вот пришлось перенести эту библиотеку в другое место и после этого начались проблемы. При открытии формы, на которой находится компонент Zclientdataset, выпадает ошибка, которая поднимается при создании экземпляра класса в библиотеке CommunicationLayer. После этого все вроде нормально работает. Когда закрываю форму, снова поднимается та же ошибка. А когда полностью выхожу из Delphi поднимается исключение: [more=Access violation at address 00000000. Read of address 00000000]
---------------------------
Error
---------------------------
Access violation at address 00000000. Read of address 00000000.
---------------------------
OK Details <<
---------------------------
[171277B4]{MyClientDataSet.bpl} Tusingcommunicationlayerun.TUsingCommunicationLayer.RemoveQuery + $18
[17143AF5]{MyClientDataSet.bpl} Zclientdataset.TZClientDataSet.RemoveFromPool + $35
[171436D4]{MyClientDataSet.bpl} Zclientdataset.TZClientDataSet + $1C
[2000679C]{rtl100.bpl } System.TObject.Free (Line 8832, "sys\system.pas" + 1) + $4
[23483B75]{ZdxBarDBNavigatorPack.bpl} ZdxBarDBNavigator.TZdxBarDBNavButton.Destroy (Line 258, "ZdxBarDBNavigator.pas" + 3) + $6
[2000679C]{rtl100.bpl } System.TObject.Free (Line 8832, "sys\system.pas" + 1) + $4
[2348496F]{ZdxBarDBNavigatorPack.bpl} ZdxBarDBNavigator.TZdxBarDBNavigator.SetVisibleButtons (Line 595, "ZdxBarDBNavigator.pas" + 11) + $0
[2348444E]{ZdxBarDBNavigatorPack.bpl} ZdxBarDBNavigator.TZdxBarDBNavigator.Destroy (Line 451, "ZdxBarDBNavigator.pas" + 1) + $8
[2003F6E3]{rtl100.bpl } Classes.TComponent.DestroyComponents (Line 10464, "common\Classes.pas" + 9) + $6
[2003F4D7]{rtl100.bpl } Classes.TComponent.Destroy (Line 10366, "common\Classes.pas" + 8) + $2
[20139CB0]{vcl100.bpl } Controls.TControl.Destroy (Line 3624, "Controls.pas" + 17) + $7
[20006754]{rtl100.bpl } System.TObject.FreeInstance (Line 8813, "sys\system.pas" + 2) + $2
[20006B86]{rtl100.bpl } System.@ClassDestroy (Line 9513, "sys\system.pas" + 0) + $2
[200328F0]{rtl100.bpl } Classes.TPersistent.Destroy (Line 3715, "common\Classes.pas" + 3) + $6
[2013E09D]{vcl100.bpl } Controls.TWinControl.Destroy (Line 6060, "Controls.pas" + 27) + $7
[201578FC]{vcl100.bpl } Forms.TScrollingWinControl.Destroy (Line 2362, "Forms.pas" + 3) + $7
[20158A5D]{vcl100.bpl } Forms.TCustomForm.Destroy (Line 2937, "Forms.pas" + 14) + $A
[20158A78]{vcl100.bpl } Forms.TCustomForm.Destroy (Line 2939, "Forms.pas" + 16) + $9
[20D27404]{designide100.bpl} Proxies.DestroyHook (Line 283, "Proxies.pas" + 2) + $6
[2000679C]{rtl100.bpl } System.TObject.Free (Line 8832, "sys\system.pas" + 1) + $4
[21D99B0A]{delphivclide100.bpl} VCLFormDesigner.TVCLRootDesigner.FreeRoot (Line 508, "VCLFormDesigner.pas" + 0) + $2
[20D4B5BE]{designide100.bpl} ComponentDesigner.TComponentRoot.InternalDeinitializeDesigner (Line 4433, "ComponentDesigner.pas" + 26) + $B
[20D4B61A]{designide100.bpl} ComponentDesigner.TComponentRoot.InternalDeinitializeDesigner (Line 4440, "ComponentDesigner.pas" + 33) + $B
[20D4D955]{designide100.bpl} ComponentDesigner.TComponentRoot.Close (Line 5241, "ComponentDesigner.pas" + 4) + $5
[216AF060]{delphicoreide100.bpl} DelphiModule.TPascalCodeMgrModHandler.Destroyed (Line 635, "DelphiModule.pas" + 9) + $5
[20A60F45]{coreide100.bpl} DocModul.TCodeIDocModule.NotifyDestroyed (Line 2342, "DocModul.pas" + 2) + $5
[20D243CD]{designide100.bpl} ToolUtils.ForEach (Line 90, "ToolUtils.pas" + 5) + $F
[20A60EB6]{coreide100.bpl} DocModul.TCodeIDocModule.NotifyDestruction (Line 2326, "DocModul.pas" + 2) + $B
[20A5DFEE]{coreide100.bpl} DocModul.TDocModule.BeforeDestruction (Line 956, "DocModul.pas" + 15) + $0
[20006BE5]{rtl100.bpl } System.@BeforeDestruction (Line 9548, "sys\system.pas" + 7) + $0
[2097C98A]{coreide100.bpl} SourceModule.TSourceModule.Destroy (Line 414, "SourceModule.pas" + 0) + $2
[2000679C]{rtl100.bpl } System.TObject.Free (Line 8832, "sys\system.pas" + 1) + $4
[20A5F088]{coreide100.bpl} DocModul.WalkDependencies (Line 1549, "DocModul.pas" + 9) + $2
[20A5F0D1]{coreide100.bpl} DocModul.TDocModule.WalkDependencies (Line 1558, "DocModul.pas" + 1) + $1
[20A5E250]{coreide100.bpl} DocModul.TDocModule.Close (Line 1050, "DocModul.pas" + 12) + $F
[209E3B8B]{coreide100.bpl} ProjectModule.TBaseProject.BeforeDestruction (Line 912, "ProjectModule.pas" + 30) + $4
[2168470D]{delphicoreide100.bpl} BaseDelphiProject.TBaseDelphiProject.BeforeDestruction (Line 1232, "BaseDelphiProject.pas" + 4) + $2
[20006BE5]{rtl100.bpl } System.@BeforeDestruction (Line 9548, "sys\system.pas" + 7) + $0
[21682BCE]{delphicoreide100.bpl} BaseDelphiProject.TBaseDelphiProject.Destroy (Line 719, "BaseDelphiProject.pas" + 0) + $A
[2000679C]{rtl100.bpl } System.TObject.Free (Line 8832, "sys\system.pas" + 1) + $4
[209CD8E2]{coreide100.bpl} ProjectGroup.TProjectGroup.BeforeDestruction (Line 923, "ProjectGroup.pas" + 41) + $2
[20006BE5]{rtl100.bpl } System.@BeforeDestruction (Line 9548, "sys\system.pas" + 7) + $0
[209CD6A2]{coreide100.bpl} ProjectGroup.TProjectGroup.Destroy (Line 869, "ProjectGroup.pas" + 0) + $2
[2000679C]{rtl100.bpl } System.TObject.Free (Line 8832, "sys\system.pas" + 1) + $4
[209D3721]{coreide100.bpl} ProjectGroup.TProjectGroupWrapper.Close (Line 2516, "ProjectGroup.pas" + 0) + $5
[004147AC]{bds.exe } AppMain.TAppBuilder.DestroyProjectGroup (Line 2157, "ui\AppMain.pas" + 16) + $9
[004170CD]{bds.exe } AppMain.TAppBuilder.WindowCloseQuery (Line 3126, "ui\AppMain.pas" + 40) + $3
[2015E025]{vcl100.bpl } Forms.TCustomForm.CloseQuery (Line 5624, "Forms.pas" + 8) + $14
[2015DF4D]{vcl100.bpl } Forms.TCustomForm.Close (Line 5596, "Forms.pas" + 4) + $4
[2015CF72]{vcl100.bpl } Forms.TCustomForm.Resizing (Line 5078, "Forms.pas" + 5) + $11
[2015CF78]{vcl100.bpl } Forms.TCustomForm.WMClose (Line 5083, "Forms.pas" + 0) + $0
[2013C527]{vcl100.bpl } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6
[0B0CDA31]{dxSkinsCoreD11.bpl} Dxskinsform.dxSkinGetControllerClassForWindow + $155
[201406A7]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
[20159E7F]{vcl100.bpl } Forms.TCustomForm.WndProc (Line 3512, "Forms.pas" + 136) + $5
[2013FDD0]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
[20040E4C]{rtl100.bpl } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
[201407A3]{vcl100.bpl } Controls.TWinControl.DefaultHandler (Line 7334, "Controls.pas" + 23) + $17
[2015BFB6]{vcl100.bpl } Forms.TCustomForm.DefaultHandler (Line 4576, "Forms.pas" + 7) + $4
[2014237D]{vcl100.bpl } Controls.TWinControl.WMSysCommand (Line 8254, "Controls.pas" + 16) + $7
[2015D049]{vcl100.bpl } Forms.TCustomForm.WMSysCommand (Line 5114, "Forms.pas" + 7) + $4
[20A0F76E]{coreide100.bpl} WorkFrm.TWorkForm.WMSysCommand (Line 71, "WorkFrm.pas" + 27) + $4
[20A0FBD6]{coreide100.bpl} MainWorkFrm.TMainWorkForm.WMSysCommand (Line 118, "MainWorkFrm.pas" + 2) + $4
[2013C527]{vcl100.bpl } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6
[0B0CDA31]{dxSkinsCoreD11.bpl} Dxskinsform.dxSkinGetControllerClassForWindow + $155
[201406A7]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
[20159E7F]{vcl100.bpl } Forms.TCustomForm.WndProc (Line 3512, "Forms.pas" + 136) + $5
[2013FDD0]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
[20040E4C]{rtl100.bpl } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
[201407A3]{vcl100.bpl } Controls.TWinControl.DefaultHandler (Line 7334, "Controls.pas" + 23) + $17
[2015BFB6]{vcl100.bpl } Forms.TCustomForm.DefaultHandler (Line 4576, "Forms.pas" + 7) + $4
[2013CB71]{vcl100.bpl } Controls.TControl.WMNCLButtonDown (Line 5267, "Controls.pas" + 2) + $6
[2015CC34]{vcl100.bpl } Forms.TCustomForm.WMNCLButtonDown (Line 4965, "Forms.pas" + 11) + $4
[20A0F9D6]{coreide100.bpl} MainWorkFrm.TMainWorkForm.WMNCLButtonDown (Line 44, "MainWorkFrm.pas" + 1) + $4
[2013C527]{vcl100.bpl } Controls.TControl.WndProc (Line 5146, "Controls.pas" + 83) + $6
[0F1B3B11]{cxLibraryD11.bpl} Cxcontainer.TcxCustomInnerListBox.CNDrawItem + $695
[201406A7]{vcl100.bpl } Controls.TWinControl.WndProc (Line 7304, "Controls.pas" + 111) + $6
[20159E7F]{vcl100.bpl } Forms.TCustomForm.WndProc (Line 3512, "Forms.pas" + 136) + $5
[2013FDD0]{vcl100.bpl } Controls.TWinControl.MainWndProc (Line 7073, "Controls.pas" + 3) + $6
[20040E4C]{rtl100.bpl } Classes.StdWndProc (Line 11583, "common\Classes.pas" + 8) + $0
[20137642]{vcl100.bpl } Controls.FindControl (Line 2104, "Controls.pas" + 6) + $9
[201625F0]{vcl100.bpl } Forms.TApplication.ProcessMessage (Line 8105, "Forms.pas" + 23) + $1
[2016262A]{vcl100.bpl } Forms.TApplication.HandleMessage (Line 8124, "Forms.pas" + 1) + $4
[2016291F]{vcl100.bpl } Forms.TApplication.Run (Line 8223, "Forms.pas" + 20) + $3
[0042297A]{bds.exe } bds.bds (Line 195, "" + 7) + $7
[/more]. А после нее Access violation at address 20130288 in module 'vcl100.bpl'. Read of address 0000005C. При чем это происходит только на моем компьютере, у всех остальных разработчиков перенос библиотеки CommunicationLayer.dll прошел абсолютно безболезненно. Использую Delphi 2007 с обновлением, ОС WindowsXP. Настройки системы у всех одинаковые. Пробовала заново установить компоненты, стерев все следы предыдущей установки, заново ставить делфи, создала нового пользователя винды и под него поставила все компоненты. Библиотека не регистрируется.