|
IainMac Wanderer
Joined: 28 Jan 2006 Posts: 60 Location: Scotland
|
Posted: Fri Jun 13, 2008 10:08 am
[2.27 Pro] Problem with multistate buttons in packages |
I have a session that includes a custom package that holds buttons that I commonly use lets call it InstanceA. I also have two other session that just include the standard English Keyboard and English Directions packages, lest call them InstanceB and InstanceC.
Problem1:
The problem I am getting is that if I open InstanceB all is fine. If I then open InstanceA then I "see" some of the buttons from my custom package in the InstanceB window. If I then open InstanceC, I will see all of my custom buttons in this window.
Problem2:
Which is probably caused by Problem1 but anyway....
If I then open PE and select the "All" tab, then close down PE without doing anything else. I then select the InstanceA windows and go "File -> Close Window" whereupon I get an access violation (posted here as I am unable to get through my local firewall):
Code: |
date/time : 2008-06-13, 09:08:42, 981ms
computer name : ***
user name : ***
registered owner : ***
operating system : Windows XP Service Pack 2 build 2600
system language : English
system up time : 2 hours 17 minutes
program up time : 7 minutes 58 seconds
processors : 2x Intel(R) Core(TM)2 Duo CPU T7300 @ 2.00GHz
physical memory : 2090/3071 MB (free/total)
free disk space : (C:) 80.24 GB
display mode : 1280x1024, 32 bit
process id : $1654
allocated memory : 31.43 MB
executable : cMUDPro.exe
exec. date/time : 2008-06-12 22:33
version : 2.27.0.0
compiled with : BCB 2006/07
madExcept version : 3.0h
contact name : ***
contact email : ***
callstack crc : $53d08d92, $1110095b, $1110095b
exception number : 1
exception class : EAccessViolation
exception message : Access violation at address 00E6711C in module 'cMUDPro.exe'. Read of address 000001A1.
Main ($eb8):
00e6711c +014 cMUDPro.exe PrefDat 8885 +3 ButtonRec.Remove
00e67ac5 +049 cMUDPro.exe PrefDat 9126 +2 PrefRec.IsEnabled
00e6e6c5 +01d cMUDPro.exe PrefDat 11632 +3 PrefRec.InScope
00d763f9 +375 cMUDPro.exe PARENT 4410 +76 TParentForm.UpdateButtons
00d73d33 +06f cMUDPro.exe PARENT 3332 +15 TParentForm.DoRefreshSetting
00d73d8a +032 cMUDPro.exe PARENT 3346 +2 TParentForm.wmRefreshSetting
004bb0cf +2bb cMUDPro.exe Controls 5146 +83 TControl.WndProc
004bf0d3 +4fb cMUDPro.exe Controls 7304 +111 TWinControl.WndProc
004a1633 +553 cMUDPro.exe Forms 3512 +136 TCustomForm.WndProc
004be7fc +02c cMUDPro.exe Controls 7073 +3 TWinControl.MainWndProc
0047c440 +014 cMUDPro.exe Classes 11583 +8 StdWndProc
7e41f658 +016 USER32.dll CallWindowProcA
006d37cb +0a7 cMUDPro.exe aqDockingUtils 1728 +7 CallDefWndProc
006d38b9 +0dd cMUDPro.exe aqDockingUtils 1776 +41 TaqWindowEventFilter.WndProc
0047c440 +014 cMUDPro.exe Classes 11583 +8 StdWndProc
7e4196c2 +00a USER32.dll DispatchMessageA
004461b5 +23d cMUDPro.exe madExcept HandleException
0044c65a +03a cMUDPro.exe madExcept InterceptAHandleExcept
006ad855 +059 cMUDPro.exe dxBar 37229 +6 TdxBarItem.DirectClick
7c90eaf5 +009 ntdll.dll KiUserExceptionDispatcher
00e595f7 +00f cMUDPro.exe PrefDat 1949 +1 PrefRec.Destroy
00e592f8 +094 cMUDPro.exe PrefDat 1867 +13 ButtonRec.Destroy
00404da4 +008 cMUDPro.exe System 8832 +1 TObject.Free
00e5beac +0e4 cMUDPro.exe PrefDat 2992 +22 PkgData.BeforeDelete
0091008f +07b cMUDPro.exe DataSetHandler 179 +7 THandlerList.CallHandlers
00910778 +004 cMUDPro.exe DataSetHandler 270 +0 THandlerList.DoBeforeDelete
00517ba1 +015 cMUDPro.exe DB 11235 +1 TDataSet.DoBeforeDelete
0051735d +079 cMUDPro.exe DB 10723 +6 TDataSet.Delete
00eb53e5 +0e5 cMUDPro.exe PkgDM 8027 +18 TPkg.RemovePackage
00d7ce6a +272 cMUDPro.exe PARENT 9127 +54 TParentForm.CloseSession
00d7cf4e +04a cMUDPro.exe PARENT 9156 +3 TParentForm.CloseWindow
00d750da +0be cMUDPro.exe PARENT 3874 +13 TParentForm.CloseWindow1Click
0047b77f +00f cMUDPro.exe Classes 11081 +3 TBasicAction.Execute
004cbee9 +031 cMUDPro.exe ActnList 388 +1 TContainedAction.Execute
004ccbb0 +050 cMUDPro.exe ActnList 1000 +7 TCustomAction.Execute
0047b64b +013 cMUDPro.exe Classes 11010 +2 TBasicActionLink.Execute
006ad8ba +052 cMUDPro.exe dxBar 37239 +5 TdxBarItem.DoClick
006ad837 +03b cMUDPro.exe dxBar 37227 +4 TdxBarItem.DirectClick
006b1ac8 +154 cMUDPro.exe dxBar 39494 +32 TdxBarItemControl.ControlUnclick
006b4ba6 +056 cMUDPro.exe dxBar 41412 +6 TdxBarButtonControl.ControlUnclick
0069a6ea +0fe cMUDPro.exe dxBar 27163 +24 TCustomdxBarControl.WMLButtonUp
004bb0cf +2bb cMUDPro.exe Controls 5146 +83 TControl.WndProc
004bf0d3 +4fb cMUDPro.exe Controls 7304 +111 TWinControl.WndProc
006a3ad6 +002 cMUDPro.exe dxBar 32032 +0 TdxBarControl.IsInternal
006a7ae2 +012 cMUDPro.exe dxBar 34038 +1 TdxBarSubMenuControl.IsInternal
0069caeb +007 cMUDPro.exe dxBar 28314 +1 TCustomdxBarControl.GetEquivalentParentBar
0069bd4e +01a cMUDPro.exe dxBar 27854 +6 TCustomdxBarControl.CanProcessMouseMessage
004be7fc +02c cMUDPro.exe Controls 7073 +3 TWinControl.MainWndProc
0047c440 +014 cMUDPro.exe Classes 11583 +8 StdWndProc
7e4196c2 +00a USER32.dll DispatchMessageA
004a97a8 +0fc cMUDPro.exe Forms 8105 +23 TApplication.ProcessMessage
004a97e2 +00a cMUDPro.exe Forms 8124 +1 TApplication.HandleMessage
004a9ad7 +0b3 cMUDPro.exe Forms 8223 +20 TApplication.Run
00efe11c +088 cMUDPro.exe cMUDPro 353 +20 initialization
7c91312f +069 ntdll.dll RtlUnicodeStringToAnsiString
7c812b94 +0b6 kernel32.dll GetVersionExA
|
|
|
Last edited by IainMac on Mon Jun 16, 2008 8:45 pm; edited 1 time in total |
|
|
|
Zugg MASTER
Joined: 25 Sep 2000 Posts: 23379 Location: Colorado, USA
|
Posted: Fri Jun 13, 2008 4:44 pm |
You actually need to show us more detail on each package that you are using. If the buttons are defined within a "window" then they shouldn't show up in any other window. Only if the buttons are defined in a global or external "module" will they appear in other windows.
|
|
|
|
IainMac Wanderer
Joined: 28 Jan 2006 Posts: 60 Location: Scotland
|
Posted: Fri Jun 13, 2008 7:57 pm |
Yes my package is defined in a "Global" package.
I tried to simplify my Buttons package and found that if the package only has 1 normal push button then all is well. But if I change that button to a multistate button then the problem appears. The XML for my button package is:
Code: |
<module name="Buttons" global="true">
<uid>{2506335D-DE9B-4CD6-9844-562736247558}</uid>
<button type="Multistate" left="100" priority="70" id="7">
<caption>Test1b</caption>
<state caption="Option1"></state>
<state caption="Option2"></state>
</button>
</module>
|
|
|
|
|
IainMac Wanderer
Joined: 28 Jan 2006 Posts: 60 Location: Scotland
|
|
|
|
|
|