Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot access underlying event field

I am trying to cause TButton Click event from within TListBox doubleclick event by simply calling:

Button1.Click;

I am always able to do that under Delphi XE and version below it, but now it is raising an error in Delphi Prism. The error message is "Cannot access underlying event field." So, how would you cause an event from within an event of another control for instance TListBox?

for instance:

method UnitSelectDialog.UnitListBox_DoubleClick(sender: System.Object; e: System.EventArgs);
begin
   Okbtn.Click;
end;

The code above is same as if you clicked on the OK Tbutton on the form.

like image 628
ThN Avatar asked Aug 09 '11 15:08

ThN


1 Answers

I'm not familiar with Prism but this looks like the WinForms button to me. If so then you can call PerformClick.

OKbtn.PerformClick;

.net events are much more complex than VCL events. Most significantly they are multi-cast which means that multiple handlers can be attached. One consequence of this is that invoking events is much more complex.

like image 68
David Heffernan Avatar answered Nov 03 '22 23:11

David Heffernan