<div dir="ltr">Dear all,<div>I am using THistoryFiles (<a href="http://wiki.freepascal.org/HistoryFiles">http://wiki.freepascal.org/HistoryFiles</a>) in a project running on linux/win/osx.</div><div>I have an issue with THistoryFiles on Carbon.</div><div>Specifically, the issue is related to historyfiles.pas when clicking on a recent menu item.</div><div>When a recent menu item is clicked an event is raised in HistoryFiles:</div><div><br></div><div>procedure THistoryFiles.OnMainMenuClickHistoryItem(Sender:TObject);</div><div>var</div><div>  thefile : string;</div><div>begin</div><div>  thefile:='';</div><div>  If Assigned(FOnHistoryItemClick) Then</div><div>  begin</div><div>   thefile := FItems.Strings[TMenuItem(sender).tag-1];</div><div>   if thefile<>'' then</div><div>     FLastItemIndex := TMenuItem(sender).tag;</div><div><br></div><div>     LastItemIndex_WriteIni;</div><div><br></div><div>     FOnHistoryItemClick(Self, TMenuItem(sender), thefile);</div><div><br></div><div>     UpdateParentMenu;</div><div>  end;</div><div>end;</div><div><br></div><div>Before the event is raised the following function is executed (in carbonobject.inc)</div><div>function CarbonApp_CommandProcess(ANextHandler: EventHandlerCallRef;</div><div>  AEvent: EventRef;</div><div>  {%H-}AWidget: TCarbonWidget): OSStatus; {$IFDEF darwin}mwpascal;{$ENDIF}</div><div> </div><div>Staring from line 271 the following code is executed:</div><div><br></div><div><div>          if CarbonMenu.Parent.Dismissed=kHIMenuDismissedBySelection then begin</div><div>            FillChar(Msg{%H-}, SizeOf(Msg), 0);</div><div>            Msg.msg := LM_ACTIVATE;</div><div>            DeliverMessage(CarbonMenu.LCLMenuItem, Msg);</div><div>            if assigned(CarbonMenu.Parent) then  // if parent not closed</div><div>              CarbonMenu.Parent.Dismissed:=0;</div><div>            Result := noErr;</div><div>            Exit;</div><div>          end else</div><div>            Result:=CallNextEventHandler(ANextHandler, AEvent); </div></div><div><br></div><div>Specifically THistoryFiles.OnMainMenuClickHistoryItem is executed on DeliverMessage, the issue is that in THistoryFiles.OnMainMenuClickHistoryItem the menu is deleted and replaced by thistoryfiles, so when executing the instructions after DeliverMessage the CarbonMenu does not exists anymore.</div><div><br></div><div>Any hint?</div><div>Andrea Mauri</div><div><br></div><div><br></div></div>