Hallo,
ich erkläre das jetzt anhand einer HitroySerchKombo die ich einmal erstellt habe. In anbetracht der fortgeschritenen Zeit habe ich keine Lust mehr das zu übertragen aber das solltest du auch hinbekommen 

.
Diese ComboBoc, generiert ein Ereigniss 
OnAddToHistory welches immer dann ausgelöst wird wenn ein neuer Eintrag der History List hinzugefügt wird.
Zuerst, muss ein Prototyp für die Ereignisbehandlungsroutine erstellt werden. In meinem Fall sieht das so aus:
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:
 | TOnAddedToHistory = procedure (VAR Text : STRING; VAR AddIt : BOOLEAN) OF OBJECT;					 | 
		
	  
Dieses geschieht völlig uabhängig von dem Objekt in dem es verwendung findet über der Dektaration dieses Objektes im Type abschnitt.
Danach deklarierts du unter Protected (oder Private) eine Variable von diesem Prototypen:
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:
 | FOnAddToHistory: TOnAddedToHistory;					 | 
		
	  
Als dritten Schritt richtest du ein Property unter published ein:
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:
 | property OnAddToHistory : TOnAddedToHistory read FOnAddToHistory write SetOnAddToHistory;					 | 
		
	  
Wobei du natülich wie bei jedem Property lesende wie schreibende Behandlunsroutinen definieren kannst, die im einfachsten Fall so aussehen:
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:2:
 3:
 4:
 5:
 
 | procedure ToHistorySearchCombo.SetOnAddToHistory(const Value: TOnAddedToHistory);
 begin
 FOnAddToHistory := Value;
 end;
 | 
		
	  
Zu guter letzt, ist es natürlich noch nötig, dass du das Ereignis auslöst, wenn es denn eine Behandlungsroutine zugeordnet hat. Du musst also an den entsprechenden Stellen in deinem (komponenten) Code noch etwas äquialentes zu dem hier einfügen:
		                     
             Quelltext
                        Quelltext                    
           	 										| 1:2:
 
 | IF Assigned(OnAddToHistory) THEN BEGINOnAddToHistory(ToListText, AddIt);
 | 
		
	  
So, ich hoffe das Prinzieb ist klar geworden und ich konnte ein wenig helfen.
Gruß
Klabautermann