[lazarus] OI choosing wrong control then crash?

Tony Maro tony at maro.net
Sat Nov 16 12:24:36 EST 2002







Sorry for the HTML, but I wanted to preserve line lengths for easier viewing...







This does NOT reproduce in a new blank application.  It's happening in CBTracker.



When clicking to jump to an event in the object inspector Lazarus crashes.  In this example I have clicked on BtnBills, but the console out appears to show that I've clicked BtnCategories (which at no time during this session have I touched.)  When I click to go to the BtnBills.OnClick event in the OI, it crashes.  I went back to a known good source from a week ago and it still does it, so I don't really think the .lfm is corrupted.  I even manually regenerated the .LRS just to make sure that wasn't part of the problem.  The application builds and runs fine.  It does this when you go to any event of any object including the form.



I also found that if I show a different form in the application and go to an event in it, then go back to the main form, everything works fine.  Save the project, reopen and try to go directly to an event of an object on the visible form and it crashes.



MouseUpOnControl BtnBills:TBUTTON

[TDesigner.MouseLeftUpOnControl] END

### TMethodPropertyEditor.GetValues

[TEventsCodeTool.GetCompatiblePublishedMethods] A UpperClassName=TFRMMAIN

[TEventsCodeTool.GetCompatiblePublishedMethods] B TRUE

[TEventsCodeTool.GetCompatiblePublishedMethods] C TRUE

[TEventsCodeTool.GetCompatiblePublishedMethods] D

[TEventsCodeTool.CreateExprListFromMethodTypeData] START

[TEventsCodeTool.CreateExprListFromMethodTypeData] A  i=0/1 Ident=TOBJECT

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /home/tony/Projects/cbtracker/unitcatreport.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /home/tony/Projects/cbtracker/unitbalancehist.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /home/tony/Projects/cbtracker/unitsplit.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /home/tony/Projects/cbtracker/unitsplash.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /home/tony/Projects/cbtracker/unitfrmenterwithdrawal.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /home/tony/Projects/cbtracker/unitenterdep.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/components/custom/unitgraph.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /home/tony/Projects/cbtracker/unitworking.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /home/tony/Projects/cbtracker/unitnewscheddep.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /home/tony/Projects/cbtracker/chkschedule.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /home/tony/Projects/cbtracker/unitstarting.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /home/tony/Projects/cbtracker/unitbalance.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/fpc/rtl/unix/linux.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/fpc/fcl/xml/xmlcfg.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/components/custom/checkbook.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/menus.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/components/custom/tmcal.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/stdctrls.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/buttons.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/extctrls.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/lresources.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/dialogs.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/graphics.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/controls.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/forms.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/fpc/rtl/unix/sysutils.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/fpc/fcl/linux/classes.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/fpc/rtl/objpas/objpas.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/fpc/rtl/linux/syslinux.pp

[TEventsCodeTool.CreateExprListFromMethodTypeData] B  i=0/1 Ident=TOBJECT CurExprType=Desc=Context SubDesc=None Node=Class File="/usr/src/fpc/rtl/linux/syslinux.pp"

[TEventsCodeTool.CreateExprListFromMethodTypeData] END

[TEventsCodeTool.GetCompatiblePublishedMethods] E Searching ...

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/clipbrd.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/actnlist.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/customtimer.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/lmessages.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/graphtype.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/interfacebase.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/lcllinux.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/lclproc.pas

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/lcltype.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/vclglobals.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/utrace.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/lazaruscvs/lazarus/lcl/imglist.pp

TPascalParserTool.BuildTree B OnlyIntf=TRUE  /usr/src/fpc/rtl/objpas/typinfo.pp

### TMethodPropertyEditor.SetValue A OldValue="BtnBillsCLICK" NewValue=BtnCategoriesCLICK

[TEventsCodeTool.PublishedMethodExists] A UpperClassName=TFRMMAIN

[TEventsCodeTool.PublishedMethodExists] B TRUE

[TEventsCodeTool.CreateExprListFromMethodTypeData] START

[TEventsCodeTool.CreateExprListFromMethodTypeData] A  i=0/1 Ident=TOBJECT

[TEventsCodeTool.CreateExprListFromMethodTypeData] B  i=0/1 Ident=TOBJECT CurExprType=Desc=Context SubDesc=None Node=Class File="/usr/src/fpc/rtl/linux/syslinux.pp"

[TEventsCodeTool.CreateExprListFromMethodTypeData] END

TPascalParserTool.BuildTree B OnlyIntf=FALSE  /home/tony/Projects/cbtracker/unitmain.pas

[TEventsCodeTool.CreatePublishedMethod] A AMethodName="BtnCategoriesCLICK" in "/home/tony/Projects/cbtracker/unitmain.pas"

[TEventsCodeTool.CreatePublishedMethod] invoke class completion

[TEventsCodeTool.CreatePublishedMethod] END

### TMethodPropertyEditor.SetValue END  NewValue=BtnCategoriesCLICK

#################### TOIPropertyGrid.ValueButtonClick

### TMethodPropertyEditor.Edit A OldValue=BtnCategoriesCLICK

An unhandled exception occurred at 0x081BFD6B :

Unable to show method. Plz fix errors in source.

  0x081BFD6B  TMAINIDE__ONPROPHOOKSHOWMETHOD,  line 7172 of main.pp



[TMainIDE.Destroy] A

[TDesigner.Notification] opRemove Mainmenu1:TMAINMENU

An unhandled exception occurred at 0x08094FD9 :

Access violation

  0x08094FD9  TCONTROLSELECTION__COUNT,  line 1284 of ./designer/controlselection.pp

  0x08094FFC  TCONTROLSELECTION__INDEXOF,  line 1289 of ./designer/controlselection.pp

An unhandled exception occurred at 0x08257A1A :

Access violation

  0x08257A1A



forms.pp - finalization section








More information about the Lazarus mailing list