From: Carl Z. <ca...@me...> - 2003-12-11 16:39:39
|
Emiliano, I am not sure if you know the simple way to call events. If this is obvious, forgive me. If you create a menu item with the name 'MyMenu' Delphi will create a TMenuItem component with the name MyMenu1. This component has an event called OnClick. You can call this by saying. MyMenu1.OnClick(nil); You normally test this first: if assigned(MyMenu1.OnClick) then myMenu1.onclick(thesender); Carl On 10 Dec 2003 at 16:31, Emiliano Sutil wrote: > Carl Zmola wrote: > > > > >What are you trying to test? > >There are a few possibilities. > > > >1) > >Test to see if the event handler works. > > > >Solution: Call the OnClick event by hand. > > > > > > I don=B4t want to call it by hand because it takes me a lot of time, > > >2) > >Test to see if all menu items have an action or onclick event. > > > >Solution: step through every menu item in and see if it has > >either an onclick event or a submenu. > > > > > > This helps me to see if they have an onclick event, but i don=B4t know > if it=B4s right. > > >3) > >Test to confirm the menu item is hooked up to the correct event. > > > >Solution: Set this in code. (not a test). > >Find a menu item by its caption and see if the OnClick event is set > >to the correct method. > > > >You can compare the Addresses in some way. > >I am not sure if the following works, but > >the principle is to make sure the menuitem is hooked to the > >right function. > > > >Menuitem1.onclick =3D @(Form1.theonclickmethod; > > > >or > >TMethod(Menuitem.onclick) =3D TMethod(form1.theonclickmethod) > > > >I am not sure these comparisons work, but the something like > >them will. > > > > > > > > This third option is the one I=B4m looking for, > Looking in the source code of the tests that run on Dunit Framework I > have copied something like this, but I do it with a button, I don=B4t > know If it can be done with menuitems. I simulate the onclick event to > fire the event hooked to the button. > > .... > > TWinControl(cp).SetFocus; // I focus on the button I want to > test (cp is a Tbutton) > // code extracted from GUITesting.pas It simulates onclick event > P :=3D SmallPoint(Tcontrol(cp).Width div 2, Tcontrol(cp).Height > > div 2); > PostMessage(TWinControl(cp).Handle, WM_LBUTTONDOWN, 0, > Longint(P)); PostMessage(TWinControl(cp).Handle, WM_LBUTTONUP, > 0, Longint(P)); Application.ProcessMessages; > > This code execute the onclick over the Tbutton, I want to make > something similar with TMenuitems, also I=B4m interesting in your idea > to test something like > > Menuitem1.onclick =3D @(Form1.theonclickmethod; > > > I=B4ll investigate it > > > thanks > > > > >Good luck. > > > >------------------------------------------------ --------------------- > >---------------- Carl Zmola Carl@MembersOnlySoftware.com 202-328-1785 > >x103 > > > > > >------------------------------------------------ ------- > >This SF.net email is sponsored by: IBM Linux Tutorials. > >Become an expert in LINUX or just sharpen your skills. Sign up for > >IBM's Free Linux Tutorials. Learn everything from the bash shell to > >sys admin. Click now! http://ads.osdn.com/?ad_id 78&alloc_id371&op=CCk > >_______________________________________________ Dunit-interest > >mailing list Dunit- int...@li... > >https://lists.sourceforge.net/lists/listinfo/dunit -interest > > > > > > > > > > > -- > Emiliano Sutil Garc=EDa > > AN=C1LISIS Y DESARROLLO DE SOFTWARE S.L. > Urb. San Roque, 22 > 24540 Cacabelos (Le=F3n) > Espa=F1a > email: emi...@ir... > Telf. 902 100 103 > Fax. 902 201 801 > > > > > > > ------------------------------------------------- ------ > This SF.net email is sponsored by: IBM Linux Tutorials. > Become an expert in LINUX or just sharpen your skills. Sign up for > IBM's Free Linux Tutorials. Learn everything from the bash shell to > sys admin. Click now! http://ads.osdn.com/?ad_id 78&alloc_id371&op=C0ick > _______________________________________________ Dunit-interest mailing > list Dun...@li... > https://lists.sourceforge.net/lists/listinfo/dunit- interest > --------------------------------------------------------------------------= ----------- Carl Zmola Carl@MembersOnlySoftware.com 202-328-1785 x103 |